iOS 📱
Our InsuranceCardScan
swift package makes it easy to add health insurance card scanning and eligibility verification to any iOS application in 5 minutes or less.
Installation
Find the Add Package Dependency menu item in Xcode, File > Swift Packages.
Then enter the Github repository for the package:
Usage
Import the package into your Xcode project files:
Basic Example:
Create the CardScannerViewController
using the generated session token, present in the current view controller and register a callbacks to handle updates and errors.
Available Properties
CardScanViewController
should be passed a CardScanConfig
instance with properties for server connection, callback handling and UI customization.
Main Properties
live
false
Boolean
Toggle the production or sandbox version. Default: false
sessionToken
true
String
onSuccess
true
Function
Called on successful scan. The first argument is the scanned card.
onCancel
false
Function
Triggered when the user cancels the Scanning UI.
onError
false
Function
Called when an error is returned by the API or the ViewController fails to initialize.
onProgress
true
Function
Progress updates during the card scanning process.
onRetry
false
Function
Called when a failed scan triggers a retry.
backsideSupport
false
Boolean
Enable scanning of the front and back side of the card. Default: false
eligibility
false
object
onEligibilitySuccess
false
Function
Called on successful eligibility request. The eligibility response is pass as an argument.
onEligibilityError
false
Function
Called when an error is returned by the eligibility API.
cameraOptions
false
object
Configures the camera's orientation during scanning.
UI/UX Customization Properties
The iOS widget is designed to be customizable. Please see the #customization section of UI Components to adjust these elements to match your application's branding and theme:
Note: All UI/UX Props are optional
messages
[String: String]
Customize the text displayed by the UI.
messageStyle
MessageStyle
Set the size, color and background color of the text displayed by the UI.
autoSwitchActiveColor
UIColor
Set the color of the auto scan switch
autoSwitchInactiveColor
UIColor
Set the color of the disabled auto scan switch
progressBarColor
UIColor
Set the color of the progress bars or bounding box that surrounds the card scanning area.
widgetBackgroundColor
UIColor
Set the main background color for the widget.
Callbacks
onSuccess Callback
The onSuccess
callback is triggered when the card scanning process completes successfully. This function receives the scanned card data as an argument.
Usage
Define a function that receives the scanned card data and pass it to the CardScanConfig
.
onError Callback
The onError
callback is executed when there is a failure during the card scanning process. This function receives an error object as an argument.
Usage
Define a function that receives an error object and pass it to the CardScanConfig
.
In this example, the handleCardScanError
function logs the error object to the console when a scanning failure occurs.
By using the onSuccess
and onError
props, you can handle successful and failed scanning events, allowing you to implement custom actions or display appropriate messages to the user.
You can find examples of the#error-screens at the bottom of this document
Possible errors returned to the onError
callback.
VideoError
670
Various system errors including: “Permission Denied” and “Camera not found”
VideoError
675
Various system media errors, including: “Permission Denied” and “The element has no supported sources.”
VideoError
676
Any and all other system related video capture & canvas capture errors.
WSError
640
“No websocket found - critical failure”
WSError
642
“Unknown error from websocket”
WSError
“The connection was closed abnormally”
ResponseError
HTTP Codes
Various HTTP errors returned from XMLHttpRequest and the CardScan.ai backend.
RequestError
Various
Various HTTP errors returned from Axios and XMLHttpRequest.
Unknown
606
Possible Axios setup errors, websocket setup errors, etc.
onCancel Callback
The onCancel
callback enables you to execute a custom function when the user cancels the card scanning process. This can be useful for tracking user behavior, navigating to a different part of the application, or displaying an appropriate message.
Usage
Pass a function to the CardScanConfig
that will be executed when the user cancels the scanning process.
onRetry Callback
The onRetry
callback allows you to execute a custom function when a retry is triggered due to a scanning failure.
Usage
Pass a function to the CardScanConfig
that will be executed upon retry.
In this example, the handleRetry
function logs the retry event to the console when a retry is triggered.
onProgress Callback
The onProgress
callback allows you to execute a custom function to report progress during the scanning process.
Usage
In this example, the handleProgress
callback logs the progress during a live scanning operation. When backsideSupport
is enabled the scan counter will reset to zero when the card is flipped to scan the back side.
For the majority of live scanning scenarios, the scanning will be completed within 2-3 scans. In situations with low light or occluded card elements, the scan count can go as high as 12.
Additional Features
Camera Options
Camera Configuration allow developers to preset the camera's view orientation for specific installation scenarios, such as mirrored cameras or kiosks. These settings ensure the camera view is correctly aligned and oriented during the initial setup of the application:
flipHorizontal
: Enables horizontal flipping of camera view, reversing the left to right sides of the image (aka mirrored)flipVertical
: Enabled vertical flipping of camera view, swapping the top and bottom of the image when the camera or document is upside down.
Eligibility Verification
Eligibility Verification is crucial in healthcare for confirming a patient's insurance coverage and benefits before services are provided, streamlining billing and enhancing patient care.
By providing subscriber and provider details through our React component, users can initiate the verification process effortlessly. The widget offers real-time feedback with success and error callbacks, simplifying integration into your application's UI.
See Eligibility Verification 🩻 for more details.
Last updated