1 /** 2 * The contents of this file are subject to the Mozilla Public License Version 1.1 3 * (the "License"); you may not use this file except in compliance with the License. 4 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 5 * Software distributed under the License is distributed on an "AS IS" basis, 6 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 7 * specific language governing rights and limitations under the License. 8 * 9 * The Original Code is "CodeStore.java". Description: 10 * "Interface used retrieving and validating codes" 11 * 12 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 13 * 2012. All Rights Reserved. 14 * 15 * Contributor(s): ______________________________________. 16 * 17 * Alternatively, the contents of this file may be used under the terms of the 18 * GNU General Public License (the "GPL"), in which case the provisions of the GPL are 19 * applicable instead of those above. If you wish to allow use of your version of this 20 * file only under the terms of the GPL and not to allow others to use your version 21 * of this file under the MPL, indicate your decision by deleting the provisions above 22 * and replace them with the notice and other provisions required by the GPL License. 23 * If you do not delete the provisions above, a recipient may use your version of 24 * this file under either the MPL or the GPL. 25 * 26 */ 27 package ca.uhn.hl7v2.conf.store; 28 29 import ca.uhn.hl7v2.conf.ProfileException; 30 31 /** 32 * Interface used retrieving and validating codes from user defined and HL7 specific tables that 33 * correspond to a conformance profile. 34 * 35 * @author Neal Acharya 36 */ 37 public interface CodeStore { 38 39 /** 40 * Retrieves all codes for a given conformance profile and codeSystem. 41 * 42 * @param codeSystem a table of codes (for example, HL70001 for administrative sex) valid tables 43 * are defined in the HL7 table 0396 44 * @return a list of valid codes 45 * @throws ProfileException 46 */ 47 String[] getValidCodes(String codeSystem) throws ProfileException; 48 49 /** 50 * Validates the codeSystem against the input conformance profile. If valid then output is 51 * 'true' else 'false'. 52 * 53 * @param codeSystem 54 * @return <code>true</code> if CodeStore knows the codeSystem 55 */ 56 boolean knowsCodes(String codeSystem); 57 58 /** 59 * Validates the input code value against the input conformance profile and corresponding input 60 * codeSystem. Returns true if the code is valid and false if it isn't. 61 * 62 * @param codeSystem 63 * @param code 64 * @return <code>true</code> if code is valid for the codeSystem 65 */ 66 boolean isValidCode(String codeSystem, String code); 67 68 }