/******************************************************************************* * Copyright (c) 2014 MEDEVIT. * 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: * MEDEVIT <office@medevit.at> - initial API and implementation *******************************************************************************/ package at.medevit.elexis.impfplan.model; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import ch.elexis.core.jdt.NonNull; public class ArticleToImmunisationModel { private static Map<String, List<String>> atim = null; public static @NonNull List<String> getImmunisationForAtcCode(String atcCode) { if(atim == null) initModel(); List<String> list = atim.get(atcCode.trim()); if(list==null) return Collections.emptyList(); return list; } private static void initModel(){ atim = new HashMap<>(); inl("J07AE01;J07AE"); inl("J07AN01;J07AN"); inl("J07AG01;J07AG"); inl("J07AH04;J07AH"); inl("J07AH07;J07AH"); inl("J07AH08;J07AH"); inl("J07AJ52;J07AF,J07AM,J07AJ"); inl("J07AL01;J07AL"); inl("J07AL02;J07AL"); inl("J07AM01;J07AM"); inl("J07AM51;J07AF,J07AM"); inl("J07AP01;J07AP"); inl("J07BA01;J07BA01"); inl("J07BA02;J07BA02"); inl("J07BB02;J07BB"); inl("J07BC01;J07BC01"); inl("J07BC02;J07BC02"); inl("J07BC20;J07BC01,J07BC02"); inl("J07BD52;J07BD,J07BE,J07BJ"); inl("J07BD54;J07BD,J07BE,J07BJ,J07BK"); inl("J07BF03;J07BF"); inl("J07BG01;J07BG"); inl("J07BH01;J07BH"); inl("J07BK01;J07BK"); inl("J07BL01;J07BL"); inl("J07BM01;J07BM"); inl("J07BM02;J07BM"); inl("J07CA01;J07AF,J07AM,J07BF"); inl("J07CA02;J07AF,J07AM,J07AJ,J07BF"); inl("J07CA06;J07AF,J07AM,J07AJ,J07BF,J07AG"); inl("J07CA09;J07AF,J07AM,J07AJ,J07BF,J07AG,J07BC01"); atim = Collections.unmodifiableMap(atim); } private static void inl(String string){ String[] s = string.split(";"); atim.put(s[0], il(s[1])); } private static List<String> il(String string){ String[] split = string.split(","); List<String> ret = new ArrayList<>(split.length); for (String s : split) { ret.add(s); } ret = Collections.unmodifiableList(ret); return ret; } }