candidhealth 0.35.2 → 0.35.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa540971de2f66292e9c032827b1414c52b67ef20ac20c63903b4b985f2d37f4
4
- data.tar.gz: 391cdb4f9b8ae154e1c72851e3cd8a962f9bd2910875935481462ae67d6dda2c
3
+ metadata.gz: 322bb186b5d934fa214e4211428784e97434a7a8306c6c670f4f4fc59d1a6a8d
4
+ data.tar.gz: 6ee5bb4e1ec74cbaca7d0f1abb83fed9b64bc832c82a89123c110a76c4b3935b
5
5
  SHA512:
6
- metadata.gz: 181f2f66cce5f5650b4e443bfa316ecfa2a56a5f5b9b6afeae8d373cef2bdad1fddae6030521231fe4605e47db964a4cb771f61c3c6a40b9d4b3b92451f62567
7
- data.tar.gz: eefe71988e38d5fbcd6aa78fcf5cf9d5b3c05dcdecabe415e73c73ce71c5339a27cf1c67638d80cdd4457817264fa082a0658c1ca33fa1ad722c484058473b2a
6
+ metadata.gz: 00fbc482e506e72028c476115e64f700867a012c8815c243e14ffe9c74197eb93507cb51972f315f279bba7d8630e32a16718c81ad86ecbe4b124a942e7c7631
7
+ data.tar.gz: 8cb7ace54e4a5b6a45bdb53a7520977cf0597d39701d97dead9d8edf7e980bffe15ade49fdcfa41811a356853c5eeb06f1ea433cb92d9bf318c663aff88d8579
@@ -17,18 +17,17 @@ module CandidApiClient
17
17
  class Appointment
18
18
  # @return [String]
19
19
  attr_reader :id
20
- # @return [String] The organization that owns this appointment.
20
+ # @return [String] The organization that owns this object.
21
21
  attr_reader :organization_id
22
- # @return [Boolean] True if the appointment is deactivated. Deactivated appointments are not
23
- # returned in search results but are returned in all other endpoints including
24
- # scan.
22
+ # @return [Boolean] True if the object is deactivated. Deactivated objects are not returned in
23
+ # search results but are returned in all other endpoints including scan.
25
24
  attr_reader :deactivated
26
- # @return [Integer] The version of the appointment. Any update to any property of an appointment
27
- # object will create a new version.
25
+ # @return [Integer] The version of the object. Any update to any property of an object object will
26
+ # create a new version.
28
27
  attr_reader :version
29
28
  # @return [DateTime]
30
29
  attr_reader :updated_at
31
- # @return [String] The user ID of the user who last updated the appointment.
30
+ # @return [String] The user ID of the user who last updated the object.
32
31
  attr_reader :updating_user_id
33
32
  # @return [String] The Candid-defined patient identifier.
34
33
  attr_reader :patient_id
@@ -82,14 +81,13 @@ module CandidApiClient
82
81
  OMIT = Object.new
83
82
 
84
83
  # @param id [String]
85
- # @param organization_id [String] The organization that owns this appointment.
86
- # @param deactivated [Boolean] True if the appointment is deactivated. Deactivated appointments are not
87
- # returned in search results but are returned in all other endpoints including
88
- # scan.
89
- # @param version [Integer] The version of the appointment. Any update to any property of an appointment
90
- # object will create a new version.
84
+ # @param organization_id [String] The organization that owns this object.
85
+ # @param deactivated [Boolean] True if the object is deactivated. Deactivated objects are not returned in
86
+ # search results but are returned in all other endpoints including scan.
87
+ # @param version [Integer] The version of the object. Any update to any property of an object object will
88
+ # create a new version.
91
89
  # @param updated_at [DateTime]
92
- # @param updating_user_id [String] The user ID of the user who last updated the appointment.
90
+ # @param updating_user_id [String] The user ID of the user who last updated the object.
93
91
  # @param patient_id [String] The Candid-defined patient identifier.
94
92
  # @param start_timestamp [DateTime]
95
93
  # @param status [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
@@ -1,29 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "../../requests"
4
- require_relative "patients/client"
4
+ require_relative "tags/client"
5
5
 
6
6
  module CandidApiClient
7
7
  module PreEncounter
8
8
  class Client
9
- # @return [CandidApiClient::PreEncounter::Patients::Client]
9
+ # @return [CandidApiClient::PreEncounter::Tags::Client]
10
10
  attr_reader :pre_encounter
11
11
 
12
12
  # @param request_client [CandidApiClient::RequestClient]
13
13
  # @return [CandidApiClient::PreEncounter::Client]
14
14
  def initialize(request_client:)
15
- @pre_encounter = CandidApiClient::PreEncounter::Patients::Client.new(request_client: request_client)
15
+ @pre_encounter = CandidApiClient::PreEncounter::Tags::Client.new(request_client: request_client)
16
16
  end
17
17
  end
18
18
 
19
19
  class AsyncClient
20
- # @return [CandidApiClient::PreEncounter::Patients::AsyncClient]
20
+ # @return [CandidApiClient::PreEncounter::Tags::AsyncClient]
21
21
  attr_reader :pre_encounter
22
22
 
23
23
  # @param request_client [CandidApiClient::AsyncRequestClient]
24
24
  # @return [CandidApiClient::PreEncounter::AsyncClient]
25
25
  def initialize(request_client:)
26
- @pre_encounter = CandidApiClient::PreEncounter::Patients::AsyncClient.new(request_client: request_client)
26
+ @pre_encounter = CandidApiClient::PreEncounter::Tags::AsyncClient.new(request_client: request_client)
27
27
  end
28
28
  end
29
29
  end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PreEncounter
9
+ module Common
10
+ module Types
11
+ class BaseModel
12
+ # @return [String] The organization that owns this object.
13
+ attr_reader :organization_id
14
+ # @return [Boolean] True if the object is deactivated. Deactivated objects are not returned in
15
+ # search results but are returned in all other endpoints including scan.
16
+ attr_reader :deactivated
17
+ # @return [Integer] The version of the object. Any update to any property of an object object will
18
+ # create a new version.
19
+ attr_reader :version
20
+ # @return [DateTime]
21
+ attr_reader :updated_at
22
+ # @return [String] The user ID of the user who last updated the object.
23
+ attr_reader :updating_user_id
24
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
25
+ attr_reader :additional_properties
26
+ # @return [Object]
27
+ attr_reader :_field_set
28
+ protected :_field_set
29
+
30
+ OMIT = Object.new
31
+
32
+ # @param organization_id [String] The organization that owns this object.
33
+ # @param deactivated [Boolean] True if the object is deactivated. Deactivated objects are not returned in
34
+ # search results but are returned in all other endpoints including scan.
35
+ # @param version [Integer] The version of the object. Any update to any property of an object object will
36
+ # create a new version.
37
+ # @param updated_at [DateTime]
38
+ # @param updating_user_id [String] The user ID of the user who last updated the object.
39
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
40
+ # @return [CandidApiClient::PreEncounter::Common::Types::BaseModel]
41
+ def initialize(organization_id:, deactivated:, version:, updated_at:, updating_user_id:,
42
+ additional_properties: nil)
43
+ @organization_id = organization_id
44
+ @deactivated = deactivated
45
+ @version = version
46
+ @updated_at = updated_at
47
+ @updating_user_id = updating_user_id
48
+ @additional_properties = additional_properties
49
+ @_field_set = {
50
+ "organization_id": organization_id,
51
+ "deactivated": deactivated,
52
+ "version": version,
53
+ "updated_at": updated_at,
54
+ "updating_user_id": updating_user_id
55
+ }
56
+ end
57
+
58
+ # Deserialize a JSON object to an instance of BaseModel
59
+ #
60
+ # @param json_object [String]
61
+ # @return [CandidApiClient::PreEncounter::Common::Types::BaseModel]
62
+ def self.from_json(json_object:)
63
+ struct = JSON.parse(json_object, object_class: OpenStruct)
64
+ parsed_json = JSON.parse(json_object)
65
+ organization_id = struct["organization_id"]
66
+ deactivated = struct["deactivated"]
67
+ version = struct["version"]
68
+ updated_at = (DateTime.parse(parsed_json["updated_at"]) unless parsed_json["updated_at"].nil?)
69
+ updating_user_id = struct["updating_user_id"]
70
+ new(
71
+ organization_id: organization_id,
72
+ deactivated: deactivated,
73
+ version: version,
74
+ updated_at: updated_at,
75
+ updating_user_id: updating_user_id,
76
+ additional_properties: struct
77
+ )
78
+ end
79
+
80
+ # Serialize an instance of BaseModel to a JSON object
81
+ #
82
+ # @return [String]
83
+ def to_json(*_args)
84
+ @_field_set&.to_json
85
+ end
86
+
87
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
88
+ # hash and check each fields type against the current object's property
89
+ # definitions.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Void]
93
+ def self.validate_raw(obj:)
94
+ obj.organization_id.is_a?(String) != false || raise("Passed value for field obj.organization_id is not the expected type, validation failed.")
95
+ obj.deactivated.is_a?(Boolean) != false || raise("Passed value for field obj.deactivated is not the expected type, validation failed.")
96
+ obj.version.is_a?(Integer) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
97
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
98
+ obj.updating_user_id.is_a?(String) != false || raise("Passed value for field obj.updating_user_id is not the expected type, validation failed.")
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -20,17 +20,17 @@ module CandidApiClient
20
20
  class Coverage
21
21
  # @return [String]
22
22
  attr_reader :id
23
- # @return [String] The organization that owns this coverage.
23
+ # @return [String] The organization that owns this object.
24
24
  attr_reader :organization_id
25
- # @return [Boolean] True if the coverage is deactivated. Deactivated coverages are not returned in
25
+ # @return [Boolean] True if the object is deactivated. Deactivated objects are not returned in
26
26
  # search results but are returned in all other endpoints including scan.
27
27
  attr_reader :deactivated
28
- # @return [Integer] The version of the coverage. Any update to any property of a coverage object
29
- # will create a new version.
28
+ # @return [Integer] The version of the object. Any update to any property of an object object will
29
+ # create a new version.
30
30
  attr_reader :version
31
31
  # @return [DateTime]
32
32
  attr_reader :updated_at
33
- # @return [String] The user ID of the user who last updated the coverage.
33
+ # @return [String] The user ID of the user who last updated the object.
34
34
  attr_reader :updating_user_id
35
35
  # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::CoverageStatus] The status indiciating if the coverage is active or not.
36
36
  attr_reader :status
@@ -62,13 +62,13 @@ module CandidApiClient
62
62
  OMIT = Object.new
63
63
 
64
64
  # @param id [String]
65
- # @param organization_id [String] The organization that owns this coverage.
66
- # @param deactivated [Boolean] True if the coverage is deactivated. Deactivated coverages are not returned in
65
+ # @param organization_id [String] The organization that owns this object.
66
+ # @param deactivated [Boolean] True if the object is deactivated. Deactivated objects are not returned in
67
67
  # search results but are returned in all other endpoints including scan.
68
- # @param version [Integer] The version of the coverage. Any update to any property of a coverage object
69
- # will create a new version.
68
+ # @param version [Integer] The version of the object. Any update to any property of an object object will
69
+ # create a new version.
70
70
  # @param updated_at [DateTime]
71
- # @param updating_user_id [String] The user ID of the user who last updated the coverage.
71
+ # @param updating_user_id [String] The user ID of the user who last updated the object.
72
72
  # @param status [CandidApiClient::PreEncounter::Coverages::V1::Types::CoverageStatus] The status indiciating if the coverage is active or not.
73
73
  # @param subscriber [CandidApiClient::PreEncounter::Coverages::V1::Types::Subscriber] The party who has signed-up for or 'owns' the contractual relationship to the
74
74
  # policy or to whom the benefit of the policy for services rendered to them or
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "v_1/client"
5
+
6
+ module CandidApiClient
7
+ module PreEncounter
8
+ module Notes
9
+ class Client
10
+ # @return [CandidApiClient::PreEncounter::Notes::V1::V1Client]
11
+ attr_reader :v_1
12
+
13
+ # @param request_client [CandidApiClient::RequestClient]
14
+ # @return [CandidApiClient::PreEncounter::Notes::Client]
15
+ def initialize(request_client:)
16
+ @v_1 = CandidApiClient::PreEncounter::Notes::V1::V1Client.new(request_client: request_client)
17
+ end
18
+ end
19
+
20
+ class AsyncClient
21
+ # @return [CandidApiClient::PreEncounter::Notes::V1::AsyncV1Client]
22
+ attr_reader :v_1
23
+
24
+ # @param request_client [CandidApiClient::AsyncRequestClient]
25
+ # @return [CandidApiClient::PreEncounter::Notes::AsyncClient]
26
+ def initialize(request_client:)
27
+ @v_1 = CandidApiClient::PreEncounter::Notes::V1::AsyncV1Client.new(request_client: request_client)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,257 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../../requests"
4
+ require_relative "types/note"
5
+ require_relative "types/mutable_note"
6
+ require "async"
7
+
8
+ module CandidApiClient
9
+ module PreEncounter
10
+ module Notes
11
+ module V1
12
+ class V1Client
13
+ # @return [CandidApiClient::RequestClient]
14
+ attr_reader :request_client
15
+
16
+ # @param request_client [CandidApiClient::RequestClient]
17
+ # @return [CandidApiClient::PreEncounter::Notes::V1::V1Client]
18
+ def initialize(request_client:)
19
+ @request_client = request_client
20
+ end
21
+
22
+ # Gets a note by NoteId.
23
+ #
24
+ # @param id [String]
25
+ # @param request_options [CandidApiClient::RequestOptions]
26
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::Note]
27
+ # @example
28
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
29
+ # api.pre_encounter.notes.v_1.get(id: "string")
30
+ def get(id:, request_options: nil)
31
+ response = @request_client.conn.get do |req|
32
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
33
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
34
+ req.headers = {
35
+ **(req.headers || {}),
36
+ **@request_client.get_headers,
37
+ **(request_options&.additional_headers || {})
38
+ }.compact
39
+ req.url "#{@request_client.get_url(environment: PreEncounter,
40
+ request_options: request_options)}/notes/v1/#{id}"
41
+ end
42
+ CandidApiClient::PreEncounter::Notes::V1::Types::Note.from_json(json_object: response.body)
43
+ end
44
+
45
+ # Adds a new note.
46
+ #
47
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Notes::V1::Types::MutableNote, as a Hash
48
+ # * :value (String)
49
+ # * :author_email (String)
50
+ # * :author_name (String)
51
+ # @param request_options [CandidApiClient::RequestOptions]
52
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::Note]
53
+ # @example
54
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
55
+ # api.pre_encounter.notes.v_1.create(request: { value: "string", author_email: "string", author_name: "string" })
56
+ def create(request:, request_options: nil)
57
+ response = @request_client.conn.post do |req|
58
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
59
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
60
+ req.headers = {
61
+ **(req.headers || {}),
62
+ **@request_client.get_headers,
63
+ **(request_options&.additional_headers || {})
64
+ }.compact
65
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
66
+ req.url "#{@request_client.get_url(environment: PreEncounter, request_options: request_options)}/notes/v1"
67
+ end
68
+ CandidApiClient::PreEncounter::Notes::V1::Types::Note.from_json(json_object: response.body)
69
+ end
70
+
71
+ # Updates a note. The path must contain the most recent version to prevent races.
72
+ #
73
+ # @param id [String]
74
+ # @param version [String]
75
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Notes::V1::Types::MutableNote, as a Hash
76
+ # * :value (String)
77
+ # * :author_email (String)
78
+ # * :author_name (String)
79
+ # @param request_options [CandidApiClient::RequestOptions]
80
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::Note]
81
+ # @example
82
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
83
+ # api.pre_encounter.notes.v_1.update(
84
+ # id: "string",
85
+ # version: "string",
86
+ # request: { value: "string", author_email: "string", author_name: "string" }
87
+ # )
88
+ def update(id:, version:, request:, request_options: nil)
89
+ response = @request_client.conn.put do |req|
90
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
91
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
92
+ req.headers = {
93
+ **(req.headers || {}),
94
+ **@request_client.get_headers,
95
+ **(request_options&.additional_headers || {})
96
+ }.compact
97
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
98
+ req.url "#{@request_client.get_url(environment: PreEncounter,
99
+ request_options: request_options)}/notes/v1/#{id}/#{version}"
100
+ end
101
+ CandidApiClient::PreEncounter::Notes::V1::Types::Note.from_json(json_object: response.body)
102
+ end
103
+
104
+ # Sets a note as deactivated. The path must contain the most recent version to
105
+ # prevent races.
106
+ #
107
+ # @param id [String]
108
+ # @param version [String]
109
+ # @param request_options [CandidApiClient::RequestOptions]
110
+ # @return [Void]
111
+ # @example
112
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
113
+ # api.pre_encounter.notes.v_1.deactivate(id: "string", version: "string")
114
+ def deactivate(id:, version:, request_options: nil)
115
+ @request_client.conn.delete do |req|
116
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
117
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
118
+ req.headers = {
119
+ **(req.headers || {}),
120
+ **@request_client.get_headers,
121
+ **(request_options&.additional_headers || {})
122
+ }.compact
123
+ req.url "#{@request_client.get_url(environment: PreEncounter,
124
+ request_options: request_options)}/notes/v1/#{id}/#{version}"
125
+ end
126
+ end
127
+ end
128
+
129
+ class AsyncV1Client
130
+ # @return [CandidApiClient::AsyncRequestClient]
131
+ attr_reader :request_client
132
+
133
+ # @param request_client [CandidApiClient::AsyncRequestClient]
134
+ # @return [CandidApiClient::PreEncounter::Notes::V1::AsyncV1Client]
135
+ def initialize(request_client:)
136
+ @request_client = request_client
137
+ end
138
+
139
+ # Gets a note by NoteId.
140
+ #
141
+ # @param id [String]
142
+ # @param request_options [CandidApiClient::RequestOptions]
143
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::Note]
144
+ # @example
145
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
146
+ # api.pre_encounter.notes.v_1.get(id: "string")
147
+ def get(id:, request_options: nil)
148
+ Async do
149
+ response = @request_client.conn.get do |req|
150
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
151
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
152
+ req.headers = {
153
+ **(req.headers || {}),
154
+ **@request_client.get_headers,
155
+ **(request_options&.additional_headers || {})
156
+ }.compact
157
+ req.url "#{@request_client.get_url(environment: PreEncounter,
158
+ request_options: request_options)}/notes/v1/#{id}"
159
+ end
160
+ CandidApiClient::PreEncounter::Notes::V1::Types::Note.from_json(json_object: response.body)
161
+ end
162
+ end
163
+
164
+ # Adds a new note.
165
+ #
166
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Notes::V1::Types::MutableNote, as a Hash
167
+ # * :value (String)
168
+ # * :author_email (String)
169
+ # * :author_name (String)
170
+ # @param request_options [CandidApiClient::RequestOptions]
171
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::Note]
172
+ # @example
173
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
174
+ # api.pre_encounter.notes.v_1.create(request: { value: "string", author_email: "string", author_name: "string" })
175
+ def create(request:, request_options: nil)
176
+ Async do
177
+ response = @request_client.conn.post do |req|
178
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
179
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
180
+ req.headers = {
181
+ **(req.headers || {}),
182
+ **@request_client.get_headers,
183
+ **(request_options&.additional_headers || {})
184
+ }.compact
185
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
186
+ req.url "#{@request_client.get_url(environment: PreEncounter,
187
+ request_options: request_options)}/notes/v1"
188
+ end
189
+ CandidApiClient::PreEncounter::Notes::V1::Types::Note.from_json(json_object: response.body)
190
+ end
191
+ end
192
+
193
+ # Updates a note. The path must contain the most recent version to prevent races.
194
+ #
195
+ # @param id [String]
196
+ # @param version [String]
197
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Notes::V1::Types::MutableNote, as a Hash
198
+ # * :value (String)
199
+ # * :author_email (String)
200
+ # * :author_name (String)
201
+ # @param request_options [CandidApiClient::RequestOptions]
202
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::Note]
203
+ # @example
204
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
205
+ # api.pre_encounter.notes.v_1.update(
206
+ # id: "string",
207
+ # version: "string",
208
+ # request: { value: "string", author_email: "string", author_name: "string" }
209
+ # )
210
+ def update(id:, version:, request:, request_options: nil)
211
+ Async do
212
+ response = @request_client.conn.put do |req|
213
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
214
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
215
+ req.headers = {
216
+ **(req.headers || {}),
217
+ **@request_client.get_headers,
218
+ **(request_options&.additional_headers || {})
219
+ }.compact
220
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
221
+ req.url "#{@request_client.get_url(environment: PreEncounter,
222
+ request_options: request_options)}/notes/v1/#{id}/#{version}"
223
+ end
224
+ CandidApiClient::PreEncounter::Notes::V1::Types::Note.from_json(json_object: response.body)
225
+ end
226
+ end
227
+
228
+ # Sets a note as deactivated. The path must contain the most recent version to
229
+ # prevent races.
230
+ #
231
+ # @param id [String]
232
+ # @param version [String]
233
+ # @param request_options [CandidApiClient::RequestOptions]
234
+ # @return [Void]
235
+ # @example
236
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
237
+ # api.pre_encounter.notes.v_1.deactivate(id: "string", version: "string")
238
+ def deactivate(id:, version:, request_options: nil)
239
+ Async do
240
+ @request_client.conn.delete do |req|
241
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
242
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
243
+ req.headers = {
244
+ **(req.headers || {}),
245
+ **@request_client.get_headers,
246
+ **(request_options&.additional_headers || {})
247
+ }.compact
248
+ req.url "#{@request_client.get_url(environment: PreEncounter,
249
+ request_options: request_options)}/notes/v1/#{id}/#{version}"
250
+ end
251
+ end
252
+ end
253
+ end
254
+ end
255
+ end
256
+ end
257
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module PreEncounter
8
+ module Notes
9
+ module V1
10
+ module Types
11
+ # An object representing a Note.
12
+ class MutableNote
13
+ # @return [String]
14
+ attr_reader :value
15
+ # @return [String]
16
+ attr_reader :author_email
17
+ # @return [String]
18
+ attr_reader :author_name
19
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
20
+ attr_reader :additional_properties
21
+ # @return [Object]
22
+ attr_reader :_field_set
23
+ protected :_field_set
24
+
25
+ OMIT = Object.new
26
+
27
+ # @param value [String]
28
+ # @param author_email [String]
29
+ # @param author_name [String]
30
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
31
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::MutableNote]
32
+ def initialize(value:, author_email: OMIT, author_name: OMIT, additional_properties: nil)
33
+ @value = value
34
+ @author_email = author_email if author_email != OMIT
35
+ @author_name = author_name if author_name != OMIT
36
+ @additional_properties = additional_properties
37
+ @_field_set = {
38
+ "value": value,
39
+ "author_email": author_email,
40
+ "author_name": author_name
41
+ }.reject do |_k, v|
42
+ v == OMIT
43
+ end
44
+ end
45
+
46
+ # Deserialize a JSON object to an instance of MutableNote
47
+ #
48
+ # @param json_object [String]
49
+ # @return [CandidApiClient::PreEncounter::Notes::V1::Types::MutableNote]
50
+ def self.from_json(json_object:)
51
+ struct = JSON.parse(json_object, object_class: OpenStruct)
52
+ value = struct["value"]
53
+ author_email = struct["author_email"]
54
+ author_name = struct["author_name"]
55
+ new(
56
+ value: value,
57
+ author_email: author_email,
58
+ author_name: author_name,
59
+ additional_properties: struct
60
+ )
61
+ end
62
+
63
+ # Serialize an instance of MutableNote to a JSON object
64
+ #
65
+ # @return [String]
66
+ def to_json(*_args)
67
+ @_field_set&.to_json
68
+ end
69
+
70
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
71
+ # hash and check each fields type against the current object's property
72
+ # definitions.
73
+ #
74
+ # @param obj [Object]
75
+ # @return [Void]
76
+ def self.validate_raw(obj:)
77
+ obj.value.is_a?(String) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
78
+ obj.author_email&.is_a?(String) != false || raise("Passed value for field obj.author_email is not the expected type, validation failed.")
79
+ obj.author_name&.is_a?(String) != false || raise("Passed value for field obj.author_name is not the expected type, validation failed.")
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end