/** * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations under * the License. * * The Original Code is OpenELIS code. * * Copyright (C) The Minnesota Department of Health. All Rights Reserved. * * Contributor(s): CIRG, University of Washington, Seattle WA. */ package us.mn.state.health.lims.common.formfields; import us.mn.state.health.lims.common.action.IActionConstants; import us.mn.state.health.lims.common.formfields.FormFields.Field; import us.mn.state.health.lims.common.util.ConfigurationProperties; import us.mn.state.health.lims.common.util.ConfigurationProperties.Property; import java.util.HashMap; public class DefaultFormFields extends AFormFields { private HashMap<FormFields.Field, Boolean> defaultAttributes = new HashMap<FormFields.Field, Boolean>(); { /* * The rules for setting the default true or false are: * If you have been asked to hide an existing field then the default should be true * If you have been asked to add a new field then the default should be false * * The goal is to not break any existing configurations */ setFieldTrue(Field.StNumber); setFieldTrue(Field.AKA); setFieldTrue(Field.MothersName); setFieldTrue(Field.PatientType); setFieldTrue(Field.InsuranceNumber); setFieldTrue(Field.CollectionDate); setFieldTrue(Field.OrgLocalAbrev); setFieldTrue(Field.ProviderInfo); setFieldTrue(Field.NationalID); setFieldTrue(Field.Occupation); setFieldTrue(Field.OrganizationAddressInfo); setFieldTrue(Field.OrganizationShortName); setFieldTrue(Field.OrganizationMultiUnit); setFieldTrue(Field.OrganizationOrgId); setFieldTrue(Field.ADDRESS_CITY ); setFieldTrue(Field.PatientRequired); setFieldTrue(Field.QA_FULL_PROVIDER_INFO ); setFieldTrue(Field.PatientNameRequired); setFieldTrue(Field.SampleEntryRequestingSiteSampleId); setFieldTrue( Field.ADDRESS_COMMUNE ); setFieldTrue(Field.ADDRESS_VILLAGE); setFieldFalse(Field.OrgState); setFieldFalse(Field.ZipCode); setFieldFalse(Field.MLS); setFieldFalse(Field.CollectionTime); setFieldFalse(Field.RequesterSiteList); setFieldFalse(Field.InlineOrganizationTypes); setFieldFalse(Field.SubjectNumber); setFieldFalse(Field.ADDRESS_DEPARTMENT ); setFieldFalse(Field.MotherInitial); setFieldFalse(Field.SearchSampleStatus); setFieldFalse(Field.DepersonalizedResults); setFieldFalse(Field.SEARCH_PATIENT_WITH_LAB_NO); setFieldFalse(Field.ResultsReferral); setFieldFalse(Field.ValueHozSpaceOnResults); setFieldFalse(Field.InitialSampleCondition); setFieldFalse(Field.OrganizationCLIA); setFieldFalse(Field.OrganizationParent); setFieldFalse(Field.PatientRequired_SampleConfirmation); setFieldFalse(Field.SampleCondition); setFieldFalse(Field.Project); setFieldFalse(Field.NON_CONFORMITY_SITE_LIST); setFieldFalse(Field.NON_CONFORMITY_SITE_LIST_USER_ADDABLE); setFieldFalse(Field.QaEventsBySection); setFieldFalse(Field.PatientIDRequired_SampleConfirmation); setFieldFalse(Field.SampleEntryUseReceptionHour); setFieldFalse(Field.SampleEntryUseRequestDate); setFieldFalse(Field.SampleEntryNextVisitDate); setFieldFalse(Field.SampleEntryReferralSiteNameRequired); setFieldFalse(Field.SampleEntryReferralSiteNameCapitialized); setFieldFalse(Field.SampleEntryReferralSiteCode); setFieldFalse(Field.SampleEntryProviderFax); setFieldFalse(Field.SampleEntryProviderEmail); setFieldFalse(Field.SampleEntryHealthFacilityAddress); setFieldFalse(Field.SampleEntrySampleCollector); setFieldFalse(Field.PatientPhone); setFieldFalse(Field.PatientHealthRegion); setFieldFalse(Field.PatientHealthDistrict); setFieldFalse(Field.PatientMarriageStatus); setFieldFalse(Field.PatientEducation); setFieldFalse(Field.SampleEntryPatientClinical); setFieldFalse(Field.SampleEntryRequesterLastNameRequired); setFieldFalse(Field.QA_DOCUMENT_NUMBER); setFieldFalse(Field.QASubjectNumber); setFieldFalse(Field.QATimeWithDate); setFieldFalse(Field.SAMPLE_ENTRY_USE_REFFERING_PATIENT_NUMBER); setFieldFalse(Field.NON_CONFORMITY_PROVIDER_ADDRESS); setFieldFalse( Field.TEST_LOCATION_CODE ); } @Override protected HashMap<Field, Boolean> getDefaultAttributes() { return defaultAttributes; } private void setFieldFalse(Field field) { defaultAttributes.put(field, Boolean.FALSE); } private void setFieldTrue(Field field) { defaultAttributes.put(field, Boolean.TRUE); } @Override protected HashMap<Field, Boolean> getSetAttributes() { String fieldSet = ConfigurationProperties.getInstance().getPropertyValueUpperCase(Property.FormFieldSet); if(IActionConstants.FORM_FIELD_SET_LNSP_HAITI.equals(fieldSet)){ return new HT_LNSPFormFields().getImplementationAttributes(); }else if(IActionConstants.FORM_FIELD_SET_HAITI.equals(fieldSet)){ return new HT_ClinicalFormFields().getImplementationAttributes(); }else if(IActionConstants.FORM_FIELD_SET_LNSP_CI.equals(fieldSet)){ return new CI_LNSPFormFields().getImplementationAttributes(); }else if(IActionConstants.FORM_FIELD_SET_CDI.equals(fieldSet)){ return new CI_RETROFormFields().getImplementationAttributes(); }else if(IActionConstants.FORM_FIELD_SET_CI_GENERAL.equals(fieldSet)){ return new CI_GeneralFormFields().getImplementationAttributes(); }else if(IActionConstants.FORM_FIELD_SET_KENYA.equals(fieldSet)){ return new KenyaFormFields().getImplementationAttributes(); } return null; } }