=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/webapi/CsdController.java' --- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/webapi/CsdController.java 2014-01-22 16:02:02 +0000 +++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/webapi/CsdController.java 2014-01-22 19:51:07 +0000 @@ -73,10 +73,11 @@ import javax.xml.bind.Unmarshaller; import java.io.IOException; import java.util.ArrayList; -import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * @author Morten Olav Hansen @@ -85,7 +86,12 @@ @RequestMapping( value = "/csd" ) public class CsdController { - private static String SOAP_CONTENT_TYPE = "application/soap+xml"; + private static final Log log = LogFactory.getLog( CsdController.class ); + + private static final String SOAP_CONTENT_TYPE = "application/soap+xml"; + + // Name of group + private static final String FACILITY_TYPE_DISCRIMINATOR = "Health Facility"; // ------------------------------------------------------------------------- // Dependencies @@ -225,6 +231,21 @@ for ( OrganisationUnit organisationUnit : organisationUnits ) { + boolean isFacility = false; + for (OrganisationUnitGroup group : organisationUnit.getGroups()) + { + if( group.getName().equals( FACILITY_TYPE_DISCRIMINATOR)) + { + isFacility = true; + break; + } + } + // skip if orgunit is not a health facility + if (!isFacility) + { + continue; + } + Facility facility = new Facility(); facility.setOid( "No oid, please provide facility_oid attribute value" ); @@ -271,7 +292,7 @@ codedType.setCode( organisationUnitGroup.getCode() ); codedType.setCodingSchema("Unknown" ); - for ( AttributeValue attributeValue : organisationUnit.getAttributeValues() ) + for ( AttributeValue attributeValue : organisationUnitGroup.getAttributeValues() ) { if ( attributeValue.getAttribute().getName().equals( "code_system" ) ) {