mindee 3.11.0 → 3.12.0
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 +4 -4
- data/CHANGELOG.md +9 -0
- data/bin/mindee.rb +7 -1
- data/docs/code_samples/financial_document_v1_async.txt +19 -0
- data/docs/code_samples/us_healthcare_cards_v1_async.txt +19 -0
- data/docs/expense_receipts_v5.md +12 -10
- data/docs/financial_document_v1.md +51 -22
- data/docs/invoices_v4.md +4 -3
- data/docs/us_healthcare_cards_v1.md +204 -0
- data/lib/mindee/image_extraction/common/extracted_image.rb +73 -0
- data/lib/mindee/image_extraction/common/image_extractor.rb +191 -0
- data/lib/mindee/image_extraction/common.rb +3 -0
- data/lib/mindee/image_extraction/multi_receipts_extractor/multi_receipts_extractor.rb +26 -0
- data/lib/mindee/image_extraction/multi_receipts_extractor.rb +3 -0
- data/lib/mindee/image_extraction.rb +4 -0
- data/lib/mindee/input/sources.rb +8 -0
- data/lib/mindee/parsing/standard/company_registration_field.rb +17 -0
- data/lib/mindee/product/financial_document/financial_document_v1_document.rb +3 -1
- data/lib/mindee/product/financial_document/financial_document_v1_line_item.rb +7 -0
- data/lib/mindee/product/financial_document/financial_document_v1_page.rb +1 -1
- data/lib/mindee/product/international_id/international_id_v2_document.rb +1 -1
- data/lib/mindee/product/international_id/international_id_v2_page.rb +1 -1
- data/lib/mindee/product/invoice/invoice_v4_document.rb +3 -1
- data/lib/mindee/product/invoice/invoice_v4_line_item.rb +7 -0
- data/lib/mindee/product/invoice/invoice_v4_page.rb +1 -1
- data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +1 -1
- data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +1 -1
- data/lib/mindee/product/receipt/receipt_v5_document.rb +1 -1
- data/lib/mindee/product/receipt/receipt_v5_page.rb +1 -1
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1.rb +41 -0
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rb +57 -0
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_document.rb +127 -0
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_page.rb +34 -0
- data/lib/mindee/product.rb +1 -0
- data/lib/mindee/version.rb +1 -1
- data/mindee.gemspec +1 -0
- metadata +29 -2
@@ -0,0 +1,127 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../parsing'
|
4
|
+
require_relative 'healthcare_card_v1_copay'
|
5
|
+
|
6
|
+
module Mindee
|
7
|
+
module Product
|
8
|
+
module US
|
9
|
+
module HealthcareCard
|
10
|
+
# Healthcare Card API version 1.0 document data.
|
11
|
+
class HealthcareCardV1Document < Mindee::Parsing::Common::Prediction
|
12
|
+
include Mindee::Parsing::Standard
|
13
|
+
# The name of the company that provides the healthcare plan.
|
14
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
15
|
+
attr_reader :company_name
|
16
|
+
# Is a fixed amount for a covered service.
|
17
|
+
# @return [Array<Mindee::Product::US::HealthcareCard::HealthcareCardV1Copay>]
|
18
|
+
attr_reader :copays
|
19
|
+
# The list of dependents covered by the healthcare plan.
|
20
|
+
# @return [Array<Mindee::Parsing::Standard::StringField>]
|
21
|
+
attr_reader :dependents
|
22
|
+
# The date when the member enrolled in the healthcare plan.
|
23
|
+
# @return [Mindee::Parsing::Standard::DateField]
|
24
|
+
attr_reader :enrollment_date
|
25
|
+
# The group number associated with the healthcare plan.
|
26
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
27
|
+
attr_reader :group_number
|
28
|
+
# The organization that issued the healthcare plan.
|
29
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
30
|
+
attr_reader :issuer80840
|
31
|
+
# The unique identifier for the member in the healthcare system.
|
32
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
33
|
+
attr_reader :member_id
|
34
|
+
# The name of the member covered by the healthcare plan.
|
35
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
36
|
+
attr_reader :member_name
|
37
|
+
# The unique identifier for the payer in the healthcare system.
|
38
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
39
|
+
attr_reader :payer_id
|
40
|
+
# The BIN number for prescription drug coverage.
|
41
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
42
|
+
attr_reader :rx_bin
|
43
|
+
# The group number for prescription drug coverage.
|
44
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
45
|
+
attr_reader :rx_grp
|
46
|
+
# The PCN number for prescription drug coverage.
|
47
|
+
# @return [Mindee::Parsing::Standard::StringField]
|
48
|
+
attr_reader :rx_pcn
|
49
|
+
|
50
|
+
# @param prediction [Hash]
|
51
|
+
# @param page_id [Integer, nil]
|
52
|
+
def initialize(prediction, page_id)
|
53
|
+
super()
|
54
|
+
@company_name = StringField.new(prediction['company_name'], page_id)
|
55
|
+
@copays = []
|
56
|
+
prediction['copays'].each do |item|
|
57
|
+
@copays.push(HealthcareCardV1Copay.new(item, page_id))
|
58
|
+
end
|
59
|
+
@dependents = []
|
60
|
+
prediction['dependents'].each do |item|
|
61
|
+
@dependents.push(StringField.new(item, page_id))
|
62
|
+
end
|
63
|
+
@enrollment_date = DateField.new(prediction['enrollment_date'], page_id)
|
64
|
+
@group_number = StringField.new(prediction['group_number'], page_id)
|
65
|
+
@issuer80840 = StringField.new(prediction['issuer_80840'], page_id)
|
66
|
+
@member_id = StringField.new(prediction['member_id'], page_id)
|
67
|
+
@member_name = StringField.new(prediction['member_name'], page_id)
|
68
|
+
@payer_id = StringField.new(prediction['payer_id'], page_id)
|
69
|
+
@rx_bin = StringField.new(prediction['rx_bin'], page_id)
|
70
|
+
@rx_grp = StringField.new(prediction['rx_grp'], page_id)
|
71
|
+
@rx_pcn = StringField.new(prediction['rx_pcn'], page_id)
|
72
|
+
end
|
73
|
+
|
74
|
+
# @return [String]
|
75
|
+
def to_s
|
76
|
+
dependents = @dependents.join("\n #{' ' * 12}")
|
77
|
+
copays = copays_to_s
|
78
|
+
out_str = String.new
|
79
|
+
out_str << "\n:Company Name: #{@company_name}".rstrip
|
80
|
+
out_str << "\n:Member Name: #{@member_name}".rstrip
|
81
|
+
out_str << "\n:Member ID: #{@member_id}".rstrip
|
82
|
+
out_str << "\n:Issuer 80840: #{@issuer80840}".rstrip
|
83
|
+
out_str << "\n:Dependents: #{dependents}".rstrip
|
84
|
+
out_str << "\n:Group Number: #{@group_number}".rstrip
|
85
|
+
out_str << "\n:Payer ID: #{@payer_id}".rstrip
|
86
|
+
out_str << "\n:RX BIN: #{@rx_bin}".rstrip
|
87
|
+
out_str << "\n:RX GRP: #{@rx_grp}".rstrip
|
88
|
+
out_str << "\n:RX PCN: #{@rx_pcn}".rstrip
|
89
|
+
out_str << "\n:copays:"
|
90
|
+
out_str << copays
|
91
|
+
out_str << "\n:Enrollment Date: #{@enrollment_date}".rstrip
|
92
|
+
out_str[1..].to_s
|
93
|
+
end
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
# @param char [String]
|
98
|
+
# @return [String]
|
99
|
+
def copays_separator(char)
|
100
|
+
out_str = String.new
|
101
|
+
out_str << ' '
|
102
|
+
out_str << "+#{char * 14}"
|
103
|
+
out_str << "+#{char * 14}"
|
104
|
+
out_str << '+'
|
105
|
+
out_str
|
106
|
+
end
|
107
|
+
|
108
|
+
# @return [String]
|
109
|
+
def copays_to_s
|
110
|
+
return '' if @copays.empty?
|
111
|
+
|
112
|
+
line_items = @copays.map(&:to_table_line).join("\n#{copays_separator('-')}\n ")
|
113
|
+
out_str = String.new
|
114
|
+
out_str << "\n#{copays_separator('-')}"
|
115
|
+
out_str << "\n |"
|
116
|
+
out_str << ' Service Fees |'
|
117
|
+
out_str << ' Service Name |'
|
118
|
+
out_str << "\n#{copays_separator('=')}"
|
119
|
+
out_str << "\n #{line_items}"
|
120
|
+
out_str << "\n#{copays_separator('-')}"
|
121
|
+
out_str
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../parsing'
|
4
|
+
require_relative 'healthcare_card_v1_document'
|
5
|
+
|
6
|
+
module Mindee
|
7
|
+
module Product
|
8
|
+
module US
|
9
|
+
module HealthcareCard
|
10
|
+
# Healthcare Card API version 1.0 page data.
|
11
|
+
class HealthcareCardV1Page < Mindee::Parsing::Common::Page
|
12
|
+
# @param prediction [Hash]
|
13
|
+
def initialize(prediction)
|
14
|
+
super(prediction)
|
15
|
+
@prediction = HealthcareCardV1PagePrediction.new(
|
16
|
+
prediction['prediction'],
|
17
|
+
prediction['id']
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# Healthcare Card V1 page prediction.
|
23
|
+
class HealthcareCardV1PagePrediction < HealthcareCardV1Document
|
24
|
+
# @return [String]
|
25
|
+
def to_s
|
26
|
+
out_str = String.new
|
27
|
+
out_str << "\n#{super}"
|
28
|
+
out_str
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/mindee/product.rb
CHANGED
@@ -26,5 +26,6 @@ require_relative 'product/international_id/international_id_v2'
|
|
26
26
|
require_relative 'product/resume/resume_v1'
|
27
27
|
require_relative 'product/us/bank_check/bank_check_v1'
|
28
28
|
require_relative 'product/us/driver_license/driver_license_v1'
|
29
|
+
require_relative 'product/us/healthcare_card/healthcare_card_v1'
|
29
30
|
require_relative 'product/us/us_mail/us_mail_v2'
|
30
31
|
require_relative 'product/us/w9/w9_v1'
|
data/lib/mindee/version.rb
CHANGED
data/mindee.gemspec
CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.required_ruby_version = Gem::Requirement.new('>= 2.6')
|
31
31
|
|
32
32
|
spec.add_runtime_dependency 'marcel', '~> 1.0.2'
|
33
|
+
spec.add_runtime_dependency 'mini_magick', '~> 4.13.0'
|
33
34
|
spec.add_runtime_dependency 'origamindee', '~> 3.1.0'
|
34
35
|
|
35
36
|
spec.add_development_dependency 'rake', '~> 12.3.3'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mindee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mindee, SA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: marcel
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.0.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: mini_magick
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 4.13.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 4.13.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: origamindee
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,6 +152,7 @@ files:
|
|
138
152
|
- docs/code_samples/expense_receipts_v4.txt
|
139
153
|
- docs/code_samples/expense_receipts_v5.txt
|
140
154
|
- docs/code_samples/financial_document_v1.txt
|
155
|
+
- docs/code_samples/financial_document_v1_async.txt
|
141
156
|
- docs/code_samples/idcard_fr_v1.txt
|
142
157
|
- docs/code_samples/idcard_fr_v2.txt
|
143
158
|
- docs/code_samples/international_id_v1_async.txt
|
@@ -150,6 +165,7 @@ files:
|
|
150
165
|
- docs/code_samples/proof_of_address_v1.txt
|
151
166
|
- docs/code_samples/resume_v1_async.txt
|
152
167
|
- docs/code_samples/us_driver_license_v1.txt
|
168
|
+
- docs/code_samples/us_healthcare_cards_v1_async.txt
|
153
169
|
- docs/code_samples/us_mail_v2_async.txt
|
154
170
|
- docs/code_samples/us_w9_v1.txt
|
155
171
|
- docs/cropper_v1.md
|
@@ -169,6 +185,7 @@ files:
|
|
169
185
|
- docs/proof_of_address_v1.md
|
170
186
|
- docs/resume_v1.md
|
171
187
|
- docs/us_driver_license_v1.md
|
188
|
+
- docs/us_healthcare_cards_v1.md
|
172
189
|
- docs/us_mail_v2.md
|
173
190
|
- docs/us_w9_v1.md
|
174
191
|
- lib/mindee.rb
|
@@ -187,6 +204,12 @@ files:
|
|
187
204
|
- lib/mindee/http/endpoint.rb
|
188
205
|
- lib/mindee/http/error.rb
|
189
206
|
- lib/mindee/http/response_validation.rb
|
207
|
+
- lib/mindee/image_extraction.rb
|
208
|
+
- lib/mindee/image_extraction/common.rb
|
209
|
+
- lib/mindee/image_extraction/common/extracted_image.rb
|
210
|
+
- lib/mindee/image_extraction/common/image_extractor.rb
|
211
|
+
- lib/mindee/image_extraction/multi_receipts_extractor.rb
|
212
|
+
- lib/mindee/image_extraction/multi_receipts_extractor/multi_receipts_extractor.rb
|
190
213
|
- lib/mindee/input.rb
|
191
214
|
- lib/mindee/input/local_response.rb
|
192
215
|
- lib/mindee/input/sources.rb
|
@@ -314,6 +337,10 @@ files:
|
|
314
337
|
- lib/mindee/product/us/driver_license/driver_license_v1.rb
|
315
338
|
- lib/mindee/product/us/driver_license/driver_license_v1_document.rb
|
316
339
|
- lib/mindee/product/us/driver_license/driver_license_v1_page.rb
|
340
|
+
- lib/mindee/product/us/healthcare_card/healthcare_card_v1.rb
|
341
|
+
- lib/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rb
|
342
|
+
- lib/mindee/product/us/healthcare_card/healthcare_card_v1_document.rb
|
343
|
+
- lib/mindee/product/us/healthcare_card/healthcare_card_v1_page.rb
|
317
344
|
- lib/mindee/product/us/us_mail/us_mail_v2.rb
|
318
345
|
- lib/mindee/product/us/us_mail/us_mail_v2_document.rb
|
319
346
|
- lib/mindee/product/us/us_mail/us_mail_v2_page.rb
|