package ch.elexis.connect.sysmex.packages; import java.util.Collections; import java.util.ResourceBundle; import ch.elexis.core.data.beans.ContactBean; import ch.elexis.core.importer.div.importers.TransientLabResult; import ch.elexis.core.types.LabItemTyp; import ch.elexis.core.ui.importer.div.importers.DefaultLabImportUiHandler; import ch.elexis.core.ui.importer.div.importers.LabImportUtil; import ch.elexis.data.LabItem; import ch.elexis.data.Labor; import ch.elexis.data.Patient; import ch.rgw.tools.TimeTool; public class Value { private static final String KX21_BUNDLE_NAME = "ch.elexis.connect.sysmex.packages.valuetexts_KX21"; //$NON-NLS-1$ private static final String KX21N_BUNDLE_NAME = "ch.elexis.connect.sysmex.packages.valuetexts_KX21N"; //$NON-NLS-1$ private static final String POCH_BUNDLE_NAME = "ch.elexis.connect.sysmex.packages.valuetexts_pocH"; //$NON-NLS-1$ private final ResourceBundle _bundle; Labor _myLab; String _shortName; String _longName; String _unit; LabItem _labItem; String _refMann; String _refFrau; public static Value getValueKX21(final String paramName) throws PackageException{ return new Value(paramName, KX21_BUNDLE_NAME); } public static Value getValueKX21N(final String paramName) throws PackageException{ return new Value(paramName, KX21N_BUNDLE_NAME); } public static Value getValuePOCH(final String paramName) throws PackageException{ return new Value(paramName, POCH_BUNDLE_NAME); } private Value(final String paramName, final String bundleName) throws PackageException{ _bundle = ResourceBundle.getBundle(bundleName); _shortName = getString(paramName, "kuerzel"); //$NON-NLS-1$ _longName = getString(paramName, "text"); //$NON-NLS-1$ _unit = getString(paramName, "unit"); //$NON-NLS-1$ _refMann = getString(paramName, "refM");//$NON-NLS-1$ _refFrau = getString(paramName, "refF");//$NON-NLS-1$ } private void initialize(){ _myLab = LabImportUtil.getOrCreateLabor(Messages.getString("Value.LabKuerzel")); _labItem = LabImportUtil.getLabItem(_shortName, _myLab); if (_labItem == null) { _labItem = new LabItem(_shortName, _longName, _myLab, _refMann, _refFrau, _unit, LabItemTyp.NUMERIC, Messages.getString("Value.LabName"), "50"); } } public void fetchValue(Patient patient, String value, String flags, TimeTool date){ if (_labItem == null) { initialize(); } LabImportUtil lu = new LabImportUtil(); TransientLabResult tLabResult = new TransientLabResult.Builder(new ContactBean(patient), new ContactBean(_myLab), _labItem, value).date(date).build(lu); lu.importLabResults(Collections.singletonList(tLabResult), new DefaultLabImportUiHandler()); } public String get_shortName(){ return _shortName; } public String get_longName(){ return _longName; } private String getString(String paramName, String key){ return _bundle.getString(paramName + "." + key); //$NON-NLS-1$ } }