All Downloads are FREE. Search and download functionalities are using the official Maven repository.

au.csiro.ontology.importer.rf2.IRefsetFactory Maven / Gradle / Ivy

There is a newer version: 4.1.0
Show newest version
/**
 * Copyright CSIRO Australian e-Health Research Centre (http://aehrc.com).
 * All rights reserved. Use is subject to license terms and conditions.
 */
package au.csiro.ontology.importer.rf2;

import au.csiro.ontology.snomed.refset.rf2.RefsetRow;

/**
 * @author Alejandro Metke
 *
 */
interface IRefsetFactory {

    static IRefsetFactory MODULE_DEPENDENCY = new IRefsetFactory() {
        final private String[] MD_COLS = { "sourceEffectiveTime", "targetEffectiveTime" };

        @Override
        public RefsetRow create(String id, String effectiveTime, String active, String moduleId, String refsetId,
                String referencedComponentId, String... fields) {
            assert fields.length == MD_COLS.length;
            return new RefsetRow(id, effectiveTime, active, moduleId, refsetId, referencedComponentId, fields) {
                @Override
                public String[] getColumns() {
                    return MD_COLS;
                }
            };
        }
    };

    static IRefsetFactory CD = new IRefsetFactory() {
        final private String[] CD_COLS = { "unitId", "operatorId", "value" };

        @Override
        public RefsetRow create(String id, String effectiveTime, String active, String moduleId, String refsetId,
                String referencedComponentId, String... fields) {
            assert fields.length == CD_COLS.length;
            return new RefsetRow(referencedComponentId, effectiveTime, active, moduleId, refsetId, 
                    referencedComponentId, fields) {
                @Override
                public String[] getColumns() {
                    return CD_COLS;
                }
            };
        }
    };

    T create(String id, String effectiveTime, String active, String moduleId, String refsetId, 
            String referencedComponentId, String... fields);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy