/*******************************************************************************
* Copyright (c) 2011-2016 Medevit OG, Medelexis AG
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Marco Descher, initial API and implementaion
* Lucia Amman, bug fixes and improvements
* Sponsors: M. + P. Richter
*******************************************************************************/
package at.medevit.elexis.gdt.handler;
import at.medevit.elexis.gdt.data.GDTProtokoll;
import at.medevit.elexis.gdt.handler.response.GDTResponseIn6300Out6301;
import at.medevit.elexis.gdt.interfaces.IGDTCommunicationPartner;
import at.medevit.elexis.gdt.messages.GDTSatzNachricht6300;
import at.medevit.elexis.gdt.messages.GDTSatzNachricht6301;
import at.medevit.elexis.gdt.messages.GDTSatzNachricht6302;
import at.medevit.elexis.gdt.messages.GDTSatzNachricht6310;
import at.medevit.elexis.gdt.messages.GDTSatzNachricht6311;
public class GDTInputHandler {
// TODO: Bei DateiTyp : Ist die Datei für mich bestimmt?
// TODO: Bei Mutation von eingehenden Stammdaten, sollen diese in Elexis aktualisiert werden?
/**
* Bearbeite eine einkommende Nachricht der Satzart STAMMDATEN ÜBERMITTELN
*/
static boolean handleSatznachricht6301(String[] lines, String incomingFilename,
IGDTCommunicationPartner cp){
GDTSatzNachricht6301 in = GDTSatzNachricht6301.createfromStringArray(lines);
// TODO GDT Client: Verarbeite eingehend STAMMDATEN ÜBERMITTELN
GDTProtokoll.addEntry(GDTProtokoll.MESSAGE_DIRECTION_IN, cp, in);
return true;
}
/**
* Bearbeite eine einkommende Nachricht der Satzart DATEN EINER UNTERSUCHUNG ZEIGEN
*/
static boolean handleSatznachricht6311(String[] lines, String incomingFilename,
IGDTCommunicationPartner cp){
GDTSatzNachricht6311 in = GDTSatzNachricht6311.createfromStringArray(lines);
// TODO GDT Client: Verarbeite eingehend DATEN EINER UNTERSUCHUNG ZEIGEN
GDTProtokoll.addEntry(GDTProtokoll.MESSAGE_DIRECTION_IN, cp, in);
return true;
}
/**
* Bearbeite eine einkommende Nachricht der Satzart DATEN EINER UNTERSUCHUNG ÜBERMITTELN
*/
static boolean handleSatznachricht6310(String[] lines, String incomingFilename,
IGDTCommunicationPartner cp){
GDTSatzNachricht6310 in = GDTSatzNachricht6310.createfromStringArray(lines);
// TODO GDT Client: Verarbeite eingehend DATEN EINER UNTERSUCHUNG ÜBERMITTELN
GDTProtokoll.addEntry(GDTProtokoll.MESSAGE_DIRECTION_IN, cp, in);
return true;
}
/**
* Bearbeite eine einkommende Nachricht der Satzart STAMMDATEN ANFORDERN
*
* @param lines
* @param cp
* @return true if successfully handled, false if error during handling
*/
static boolean handleSatznachricht6300(String[] lines, String incomingFilename,
IGDTCommunicationPartner cp){
GDTSatzNachricht6300 in = GDTSatzNachricht6300.createfromStringArray(lines);
GDTProtokoll.addEntry(GDTProtokoll.MESSAGE_DIRECTION_IN, cp, in);
// TODO Alert user about incoming message? Query whether should be answered?
GDTSatzNachricht6301 out = GDTResponseIn6300Out6301.createResponse(in);
if (out == null)
return false;
GDTOutputHandler.handleOutput(out, cp);
return true;
}
/**
* Bearbeite eine einkommende Nachricht der Satzart NEUE UNTERSUCHUNG ANFORDERN
*
* @param lines
*/
static boolean handleSatznachricht6302(String[] lines, String incomingFilename,
IGDTCommunicationPartner cp){
GDTSatzNachricht6302 in = GDTSatzNachricht6302.createfromStringArray(lines);
GDTProtokoll.addEntry(GDTProtokoll.MESSAGE_DIRECTION_IN, cp, in);
return true;
// TODO: Was für Untersuchungen soll Elexis hier unterstützen??
}
}