fhir_client 1.6.3 → 1.6.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +34 -0
- data/.csslintrc +2 -0
- data/.eslintignore +1 -0
- data/.eslintrc +213 -0
- data/.rubocop.yml +1159 -0
- data/.travis.yml +8 -0
- data/Gemfile +5 -5
- data/Rakefile +14 -13
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/fhir_client.gemspec +34 -21
- data/lib/fhir_client.rb +13 -18
- data/lib/fhir_client/client.rb +533 -0
- data/lib/{client_exception.rb → fhir_client/client_exception.rb} +1 -3
- data/lib/{ext → fhir_client/ext}/bundle.rb +5 -7
- data/lib/{ext → fhir_client/ext}/model.rb +10 -2
- data/lib/fhir_client/ext/reference.rb +28 -0
- data/lib/{fhir_api_validation.json → fhir_client/fhir_api_validation.json} +0 -0
- data/lib/{model → fhir_client/model}/client_reply.rb +47 -51
- data/lib/{model → fhir_client/model}/tag.rb +6 -7
- data/lib/fhir_client/patch_format.rb +8 -0
- data/lib/{resource_address.rb → fhir_client/resource_address.rb} +135 -139
- data/lib/fhir_client/resource_format.rb +11 -0
- data/lib/{sections → fhir_client/sections}/crud.rb +28 -30
- data/lib/{sections → fhir_client/sections}/feed.rb +1 -4
- data/lib/{sections → fhir_client/sections}/history.rb +14 -15
- data/lib/{sections → fhir_client/sections}/operations.rb +22 -28
- data/lib/fhir_client/sections/search.rb +52 -0
- data/lib/{sections → fhir_client/sections}/tags.rb +12 -12
- data/lib/{sections → fhir_client/sections}/transactions.rb +17 -20
- data/lib/{sections → fhir_client/sections}/validate.rb +12 -15
- data/lib/{tasks → fhir_client/tasks}/tasks.rake +19 -18
- data/lib/fhir_client/version.rb +5 -0
- metadata +127 -83
- data/lib/client_interface.rb +0 -533
- data/lib/ext/reference.rb +0 -11
- data/lib/patch_format.rb +0 -10
- data/lib/resource_format.rb +0 -13
- data/lib/sections/search.rb +0 -53
- data/test/fixtures/bundle-example.xml +0 -79
- data/test/fixtures/parameters-example.json +0 -18
- data/test/fixtures/parameters-example.xml +0 -17
- data/test/test_helper.rb +0 -8
- data/test/unit/basic_test.rb +0 -17
- data/test/unit/bundle_test.rb +0 -21
- 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
|
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
|
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
|
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
|
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,
|
58
|
+
def conditional_update(resource, id, search_params, format = @default_format)
|
60
59
|
options = {
|
61
|
-
:
|
62
|
-
:
|
63
|
-
:
|
64
|
-
:
|
60
|
+
search: {
|
61
|
+
flag: false,
|
62
|
+
compartment: nil,
|
63
|
+
parameters: {}
|
65
64
|
}
|
66
65
|
}
|
67
|
-
|
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
|
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
|
92
|
+
if format == FHIR::Formats::ResourceFormat::RESOURCE_XML
|
94
93
|
options[:format] = FHIR::Formats::PatchFormat::PATCH_XML
|
95
94
|
options[:Accept] = format
|
96
|
-
elsif
|
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
|
122
|
-
base_create(resource, nil
|
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,
|
127
|
+
def conditional_create(resource, if_none_exist_parameters, format = @default_format)
|
129
128
|
query = ''
|
130
|
-
|
131
|
-
query += "#{key
|
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
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
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
|
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
|
24
|
-
# public <T extends Resource> AtomFeed history(DateAndTime
|
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
|
39
|
+
# @param last_update
|
40
40
|
# @return
|
41
41
|
#
|
42
|
-
def resource_instance_history_as_of(klass, id,
|
43
|
-
history(resource: klass, id: id, history:{since:
|
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,
|
55
|
-
history(resource: klass, history:{since:
|
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
|
69
|
+
# @param last_update
|
70
70
|
# @return
|
71
71
|
#
|
72
|
-
def all_history_as_of(
|
73
|
-
history(history:{since:
|
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
|
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
|
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,
|
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!(
|
23
|
+
options.deep_merge!(id: id) unless id.nil?
|
25
24
|
options[:operation][:parameters] = {} if options[:operation][:parameters].nil?
|
26
|
-
options[:operation][:parameters]
|
27
|
-
options[:operation][:parameters]
|
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
|
-
|
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
|
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
|
68
|
-
options = { resource: FHIR::ValueSet,
|
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
|
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
|
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
|
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
|
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
|
-
|
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);
|