Skip to main content

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:

There are two ways to integrate the component into your application, as an RTU-UI and as a classic component.

Medical Certificate Scanner RTU-UI Component

alt

Use the ScanbotSdkUi.startMedicalCertificateScanner(config) method to launch the Medical Certificate scanner UI.

lib/doc_code_sinppet/document_sdk/medical_scanner_snippet.dart
loading...
  • result is an instance of MedicalCertificateResult.

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 License

What do you think of this documentation?