CaptureForm

Navigation:  Entwicklerhilfe > Makro-Referenz OmAPI

CaptureForm

Previous pageReturn to chapter overviewNext page

Makro-Prozedur CaptureForm (beta)

Konfigurierbare Formularerkennung

Diese Funktion wird derzeit ausgebaut, zukünftige Änderungen vorbehalten.

Syntax

{CaptureForm:IniFileName,DocFileName}

Parameter

IniFileName: Dateiname der Konfigurationsdatei.

DocFileName: Dateiname der auszuwertenden Formulardatei.

Rückgabewert

Keiner, die Anweisung wird nach Ausführung durch einen Leerstring ersetzt. Erkannte Daten werden in die globalen Variablen geschrieben.

Beschreibung

Die Funktion ist allgemeingültig, dient aber insbesondere der Auswertung, Erfassung und automatischen Archivierung von KBV-Formularen (vertragsärztliche Versorgung, Überweisungen, Rezepte u. ä.). Eine Texterkennung muss zuvor nicht ausgeführt werden. Die Funktion extrahiert das gescannte Bild, ermittelt die Formularnummer in der rechten oberen Ecke, entfernt die Blindfarben und führt dann die OCR-Texterkennung aus.

Die Formularbeschreibung wird in der Konfigurationsdatei hinterlegt, ein ausführliches Beispiel finden Sie im Blog-Artikel zur Heilmittelverordnung. Die Datei beinhaltet Informationen zu den auszuwertenden Bereichen der Formulare:

1. Sektion "Options"

[Options]

PDFWordGap=5

OMRBlackDotsRatio=4

VarPrefix=HMV-

Debug=0

DebugTestFile=C:\Temp\hmv
 

PDFWordGab: Zeichenabstand, Standard=-1. Geben Sie höhere Werte ein, wenn die erkannten Wörter Leerzeichen beinhalten, wie „H e i l m i t t e l v e r o r d n u n g“. Wenn Sie ABBYY FineReader als Texterkennung verwenden, ist 5 ein guter Wert. Bei OmniPage ist keine Anpassung nötig.

OMRBlackDotsRatio: Schwarzanteil im definierten Rechteck, ab dem die Marker-Erkennung (OMR) ein Ankreuzfeld als markiert betrachtet.

VarPrefix: Die erkannten Daten werden in die globalen Makrovariablen geschrieben. Geben Sie hier eine Präfix für die einzelnen Variablennamen an.

Debug: Für Testzwecke kann eine 1 angegeben werden. Sie erhalten dann während der Erkennung einige Informationen zum Funktionsablauf.

DebugTestFile: Erstellt eine PDF-Datei mit sichtbaren Rechtecken im Bereich der zu erkennenden Daten und/oder Bilddateien mit den ausgeschnittenen Bereichen. Ist für Feinjustierung der Bereichsangaben hilfreich. Beachten Sie, dass die Option nur bei "Debug=1" gilt.

2. Sektion "Document"

[Document]

Page=1

DropOutRed=0

KeepGrayOnly=1

KeepGrayTolerance=30

KeepGrayMaxRGBValue=235
 

Page: Nummer der zu verarbeitenden Seite im Dokument.

DropOutRed: Bei 1 wird rot entfernt. Die KVB-Formulare haben einen roten Aufdruck. Dieser muss für eine gut Erkennung entfernt werden. Alternativ kann „KeepGrayOnly=1“ verwendet werden.

KeepGrayOnly: Bei 1 werden nur Graustufen (schwarze Schrift) übernommen. Dies blendet alle anderen Farben, die rote Blindfarbe und den grünen oder blauen Formularhintergrund aus. Diese Methode ist i. d. R. der option „DropOutRed=1“ vorzuziehen.

KeepGrayTolerance: Toleranzwert für KeepGrayOnly. Gibt den Unterschied zwischen rot, grün und blau im RGB-Farbmodell an, bis zu dem eine Farbe als Graustufe betrachtet wird. Empfohlen ist ein Wert zwischen 10 und 30.

KeepGrayMaxRGBValue: Helle Farben haben hohe RGB-Werte. Es werden alle Pixel ausgeblendet, die heller als der angegebene Maximalwert ist. Empfohlen ist 230 bis 240.

3. Sektion "Adjust"

Form-All=1

AdjustLeft=1

MoveMMLeft=-2

Left=9

Right=64

Top=16

Bottom=36

RowCountMax=2
 

Form-All: Bei 1 gilt die Sektion für alle Formulare. Sie können auch beispielsweise mit "Form-14=1" eine Sektion nur für das Formular 14 hinterlegen.

AdjustLeft: Mit 1 wird die horizontale Feinjustierung aktiviert: Der Ausschnitt wird nach links verschoben, wenn dabei mehr Text enthalten ist. Dieses Verschieben hat Auswirkung auf alle definierten Daten-Ausschnitte.

MoveMMLeft: Anzahl der Millimeter, um die nach links verschoben wird.

Left, Right, Top, Bottom: Das auszuwertende Rechteck für die Justierung. Beispielsweise der Patientenname bei KBV-Formularen.

RowCountMax: Anzahl der auszuwertende Zeilen.

4. Textbereich erkennen

[Recognize-Patient]

Form-All=1

VarName=Patient

Type=2

Left=9

Right=64

Top=16

Bottom=36

RowCountMax=4

CharCountMax=-1

DeleteBlanks=1
 

Sektions-Name: Alle Sektionen mit zu erkennenden Daten müssen mit "Recognize-" beginnen und eindeutig sein.

Form-All: Bei 1 gilt die Sektion für alle Formulare. Sie können auch beispielsweise mit "Form-14=1" eine Sektion nur für das Formular 14 hinterlegen.

VarName: Name der globalen Variable, in welche die erkannten Daten kopiert werden.

Type: Typ der zu erkennenden Daten.
1=beliebiger Text
2=Text mit Optimierung für Name und Anschrift
101=nur Zahlen. Typische Erkennungsfehler, wie O statt 0, werden automatisch korrigiert.
102=nur Zahlen, Punkt und Bindestrich
121=Datum
201=Ankreuzfeld mit Erkennung über Schwarzanteil
351=2D-Barcode Typ PDF417
10001=für ICD 10 Code

Left, Right, Top, Bottom: Das auszuwertende Rechteck. Der Nullpunkt ist links oben, Einheit ist Millimeter.

RowCountMax: Optional die maximale Anzahl der im Rechteck zu lesenden Textzeilen.

CharCountMax: Optional die maximale Anzahl von Zeichen. -1 bedeutet keine Einschränkung.

DeleteBlanks: 1=Alle Leerzeichen im erkannten Text löschen.

5. Ankreuzfeld erkennen

[Recognize-Erstverordnung-13-18]

Form-13=1

Form-18=1

VarName=Erstverordnung

Type=201

ValueTrue=1

ValueFalse=0

Left=10,5

Right=15

Top=65

Bottom=69
 

Sektions-Name: Alle Sektionen mit zu erkennenden Daten müssen mit "Recognize-" beginnen und eindeutig sein.

Form-13=1 und Form-18=1: Diese Sektion gilt nur für Formulare 13 und 18. Mit "FormAll=1" würde sie für alle gelten.

VarName: Name der globalen Variable, in welche die erkannten Daten kopiert werden.

Type: Typ der zu erkennenden Daten. 201 steht für ein Ankreuzfeld.

ValueTrue: Der angegebene Text wird in die Variable geschrieben, wenn das Feld angekreuzt ist.

ValueFalse: Der angegebene Text wird in die Variable geschrieben, wenn das Feld nicht angekreuzt ist

Left, Right, Top, Bottom: Das auszuwertende Rechteck. Der Nullpunkt ist links oben, Einheit ist Millimeter.

6. Barcode erkennen

[Recognize-BarcodePDF417]

Form-All=1

Type=350

Left=157

Right=15

Top=65

Bottom=69

VarName=BarcodeComplete
 

Sektions-Name: Alle Sektionen mit zu erkennenden Daten müssen mit "Recognize-" beginnen und eindeutig sein.

Form-All=1: Diese Sektion gilt nur für alle Formulare.

Type: Typ der zu erkennenden Daten. 351 steht für einen 2D-Barcode Typ PDF417.

Left, Right, Top, Bottom: Das auszuwertende Rechteck. Der Nullpunkt ist links oben, Einheit ist Millimeter.

VarName: Name der globalen Variable, in welche der komplette Barcode-Text kopiert wird.

 

Siehe auch

Makro-Referenz

ImgGetTextFromRect

RecognizePrescription

Scan-Profile