#!/bin/bash

#Variablen
t2meddatapath='/Users/'$USER'/AIS/TEMP'
labgatedatapath='/Users/'$USER'/AIS/OUT'
workdir='/Users/'$USER'/AIS'

#RegExpression für die Versicherungsnummer von eGK Patienten
regex="[A-Z]([0-9]){9}"

#Gehe jede Datei mit dem Namen auftrag durch
for file in $t2meddatapath/auftrag.*; do

	#Lösche die pat.LDT wenn vorhanden
	if [[ -f "$workdir/pat.LDT" ]]; then
		rm $workdir/pat.LDT
	fi

	#Gehe die Datei Zeile für Zeile durch
	while read -r line; do

		#Berechne die Zeichenlänge der gelesenen Zeile
		zeichenlaenge=`echo $line | wc -m`

		#Berechne die Zeichenlänge ohne Zeilenumbruch <CR>
		zeichenlaenge=`echo $(( $zeichenlaenge-2 ))`

		#Prüfe die Zeichenlänge
		if (( $zeichenlaenge > 7 )); then

			#Splitte jede Zeile in Zeilenlänge, Feldkennung und Feldinhalt auf
			laenge=${line:0:3}
			feldkennung=${line:3:4}
			inhalt=${line:7}

			#Prüfe die Feldkennung
			case $feldkennung in

				#Vergleiche Feldkennung mit Werte
				"3105")
					if [[ $inhalt =~ $regex ]]; then
						echo $laenge"3119"$inhalt >> $workdir/pat.LDT
					else
						echo $line >> $workdir/pat.LDT
					fi
				;;

				#Wenn kein exakter Vergleich gefunden wurde nehme den Standardwert
				*)
					echo $line >> $workdir/pat.LDT
				;;

			#Ende der Feldkennungs Prüfung
			esac

		#Ende der Zeichenlängen Prüfung
		fi

	#Ende des Einlesen der Zeilen der Datei
	done < $file

	#Verschiebe die erstellte pat.LDT in das Zielverzeichnis
	mv $workdir/pat.LDT $labgatedatapath

#Entferne die gelesene Datei
rm $file

#Ende der Dateibearbeitung
done

#Verlasse das Programm
exit 0
