Medical Certificate Scanner | Flutter Document Scanner
Introduction
The Scanbot SDK provides the ability to find and extract content from German Medical Certificates (MC / AU-Bescheinigung forms).
The following fields can be extracted:
- Checkboxes: MedicalCertificateCheckBoxType
- Date Fields: DateRecordType
- Patient information: MedicalCertificatePatientInfoFieldType
There are two ways to integrate the component into your application, as an RTU-UI and as a classic component.
- Ready-To-Use UI: ready-to-use-ui
- Classic UI Components: medical classic ui
Medical Certificate Scanner RTU-UI Component
Use the ScanbotSdkUi.startMedicalCertificateScanner(config)
method to launch the Medical Certificate scanner UI.
loading...
result
is an instance ofMedicalCertificateResult
.
MedicalCertificateResult
MedicalCertificateScannerConfiguration
Medical Certificate Scanner Classic
Required: Permission validation
The MedicalCertificateScannerCamera
component does not automatically manage camera permissions.
It is the developer's responsibility to request and confirm that the necessary permissions are granted within the application.
Ensuring these permissions are in place is essential for enabling camera functionality
and providing users with a seamless scanning experience.
Quick Start Guide
To create a custom scanner UI for scanning German medical certificates, use the MedicalCertificateScannerCamera
class.
This widget handles both scanning results and any errors that may occur during the process.
Here's how you can implement it:
MedicalCertificateScannerCamera(
configuration: MedicalCertificateCameraConfiguration(
flashEnabled: flashEnabled, // Initial flash state
scannerConfiguration: MedicalCertificateClassicScannerConfiguration(
recognizePatientInfo: true, // Enable patient info recognition
recognizeBarcode: true, // Enable barcode recognition
captureHighResolutionImage: true, // Capture high-res images
),
finder: FinderConfiguration(
finderAspectRatio: sdk.AspectRatio(width: 3.0, height: 4.0),
topWidget: const Center(
child: Text('Top hint text', style: TextStyle(color: Colors.white)),
),
bottomWidget: const Align(
alignment: Alignment.topCenter,
child: Text('Bottom hint text', style: TextStyle(color: Colors.white)),
),
widget: Center(
child: Padding(
padding: const EdgeInsets.all(16),
child: material.AspectRatio(
aspectRatio: 4 / 3.0,
child: Container(
decoration: BoxDecoration(
border: Border.all(width: 5, color: Colors.lightBlue.withAlpha(155)),
borderRadius: const BorderRadius.all(Radius.circular(20)),
),
),
),
),
),
decoration: BoxDecoration(
border: Border.all(width: 5, color: Colors.deepPurple),
borderRadius: const BorderRadius.all(Radius.circular(20)),
),
backgroundColor: Colors.amber.withAlpha(150),
),
),
mcListener: (scanningResult) {
if (scanningResult.recognitionSuccessful!) {
// Handle successful scan
}
},
errorListener: (error) {
// Handle errors like licensing issues
},
onCameraPreviewStarted: (isFlashAvailable) {
// Setup after camera preview starts
},
onHeavyOperationProcessing: (show) {
// Display progress indicator during long operations
},
)
Classic UI configuration classes overview
This section includes properties that control the appearance and behavior. Below is a brief overview:
MedicalCertificateScannerCamera
MedicalCertificateClassicScannerConfiguration
FinderConfiguration
A highly customizable camera-based view to scan a single document of a certain aspect ratio. An edge-detection based algorithm finds documents in the camera stream within the viewfinder. A manual or automatic high resolution snapshot can be taken. Based on the detected area of the document in the photo, the photo is cropped and perspective-corrected, so that a flattened image of only the document is created.
For a fully functional example, please see our example app scanbot-sdk-example-flutter on GitHub.
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get your free Trial LicenseWhat do you think of this documentation?
What can we do to improve it? Please be as detailed as you like.