package ch.elexis.hl7.model; import java.text.ParseException; import java.util.Date; import java.util.List; import java.util.Vector; import ch.elexis.hl7.util.HL7Helper; public class ObservationMessage { // MSH String sendingApplication; // MSH-3 String sendingFacility; // MSH-4 Date dateTimeOfMessage = null; // MSH-7 String messageControlID = ""; // MSH-10 // PID String patientId; // PID-3 String alternatePatientId; // PID-4 String patientName; // PID-5 String patientLastName = ""; // PID-5-2 String patientFirstName = ""; // PID-5-3 String patientBirthdate = ""; // PID-7 String patientSex = ""; // PID-8 // ORC String orderNumber; // ORC-2 String orderNumberPlacer = ""; // ORC-2 String orderNumberFiller = ""; // ORC-3 Date dateTimeOfTransaction = null; // ORC-9 // OBX List<IValueType> observations = new Vector<IValueType>(); public ObservationMessage(String _sendingApplication, String _sendingFacility, String _dateTimeOfMessage, String _patientId, String _patientName, String _alternatePatientId, String _orderNumber) throws ParseException{ super(); this.sendingApplication = _sendingApplication; this.sendingFacility = _sendingFacility; this.patientId = _patientId; this.patientName = _patientName; this.alternatePatientId = _alternatePatientId; this.orderNumber = _orderNumber; this.dateTimeOfMessage = HL7Helper.stringToDate(_dateTimeOfMessage); } public ObservationMessage(String _sendingApplication, String _sendingFacility, String _dateTimeOfMessage, String _messageControlID, String _dateTimeOfTransaction, String _patientId, String _patientLastName, String _patientFirstName, String _patientBirthDate, String _patientSex, String _alternatePatientId, String _orderNumberPlacer, String _orderNumberFiller) throws ParseException{ super(); this.sendingApplication = _sendingApplication; this.sendingFacility = _sendingFacility; this.dateTimeOfMessage = HL7Helper.stringToDate(_dateTimeOfMessage); this.messageControlID = _messageControlID; this.patientId = _patientId; this.patientLastName = _patientLastName; this.patientFirstName = _patientFirstName; this.patientName = _patientLastName + " " + _patientFirstName; this.patientBirthdate = _patientBirthDate; this.patientSex = _patientSex; this.alternatePatientId = _alternatePatientId; this.orderNumberPlacer = _orderNumberPlacer; this.orderNumberFiller = _orderNumberFiller; this.dateTimeOfTransaction = HL7Helper.stringToDate(_dateTimeOfTransaction); } public void add(IValueType type){ this.observations.add(type); } public String getSendingApplication(){ return sendingApplication; } public String getSendingFacility(){ return sendingFacility; } public Date getDateTimeOfMessage(){ return dateTimeOfMessage; } public String getMessageControlID(){ return messageControlID; } public String getPatientId(){ if (this.patientId == null || this.patientId.trim().length() == 0) { return this.alternatePatientId; } return patientId; } public String getAlternatePatientId(){ return alternatePatientId; } public String getPatientName(){ return patientName; } public String getPatientLastName(){ return patientLastName; } public String getPatientFirstName(){ return patientFirstName; } public String getPatientBirthdate(){ return patientBirthdate; } public String getPatientSex(){ return patientSex; } public String getOrderNumber(){ return orderNumber; } public String getOrderNumberPlacer(){ return orderNumberPlacer; } public String getOrderNumberFiller(){ return orderNumberFiller; } public Date getDateTimeOfTransaction(){ return dateTimeOfTransaction; } public List<IValueType> getObservations(){ return observations; } }