Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register
Show
Ignore:
Timestamp:
05/09/08 10:53:35 (2 months ago)
Author:
bwolfe
Message:

Merging report-api-refactoring to trunk [2696]:[4157]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs/trunk/src/api/org/openmrs/api/CohortService.java

    r4095 r4158  
    1515 
    1616import java.util.List; 
     17import java.util.Map; 
    1718 
    1819import org.openmrs.Cohort; 
    1920import org.openmrs.Patient; 
    2021import org.openmrs.api.db.CohortDAO; 
     22import org.openmrs.cohort.CohortDefinition; 
     23import org.openmrs.cohort.CohortDefinitionProvider; 
     24import org.openmrs.report.EvaluationContext; 
    2125import org.springframework.transaction.annotation.Transactional; 
    2226 
     27/** 
     28 * API methods related to Cohorts and CohortDefinitions 
     29 * A Cohort is a list of patient ids. 
     30 * A CohortDefinition is a search strategy which can be used to arrive at a cohort. 
     31 * @see org.openmrs.Cohort 
     32 * @see org.openmrs.cohort.CohortDefinition 
     33 * @see org.openmrs.api.CohortDefinitionProvider 
     34 */ 
    2335@Transactional 
    2436public interface CohortService { 
     
    4961        @Transactional 
    5062        public void removePatientFromCohort(Cohort cohort, Patient patient); 
     63         
     64        /** 
     65         * Set the given CohortDefinitionProviders as the providers for 
     66         * this service.  These are set via spring injection in  
     67         * /metadata/spring/applicationContext-service.xml 
     68         *  
     69         * @param providerClassMap 
     70         */ 
     71        @Transactional(readOnly=true) 
     72        public void setCohortDefinitionProviders(Map<Class<? extends CohortDefinition>, CohortDefinitionProvider> providerClassMap); 
     73         
     74        /** 
     75         * Adds the given cohort definition to this service's providers 
     76         *  
     77         * @param cohortDefClass 
     78         * @param cohortDef 
     79         * @throws APIException 
     80         */ 
     81        @Transactional(readOnly=true) 
     82        public void registerCohortDefinitionProvider(Class<? extends CohortDefinition> cohortDefClass, CohortDefinitionProvider cohortDef) throws APIException; 
     83         
     84        /** 
     85         * Gets all the providers registered to this service 
     86         *  
     87         * @return this service's providers 
     88         *  
     89         * @see #setCohortDefinitionProviders(Map) 
     90         */ 
     91        @Transactional(readOnly=true) 
     92        public Map<Class<? extends CohortDefinition>, CohortDefinitionProvider> getCohortDefinitionProviders(); 
     93         
     94        @Transactional(readOnly=true) 
     95        public void removeCohortDefinitionProvider(Class<? extends CohortDefinitionProvider> providerClass); 
     96 
     97        @Transactional(readOnly=true) 
     98        public List<CohortDefinition> getAllCohortDefinitions(); 
     99         
     100        @Transactional(readOnly=true) 
     101        public List<CohortDefinition> getCohortDefinitions(Class<? extends CohortDefinitionProvider> providerClass); 
     102 
     103        @Transactional(readOnly=true) 
     104        public CohortDefinition getCohortDefinition(Class<CohortDefinition> clazz, Integer id); 
     105         
     106        @Transactional(readOnly=true) 
     107        public CohortDefinition saveCohortDefinition(CohortDefinition definition); 
     108         
     109        @Transactional 
     110        public void purgeCohortDefinition(CohortDefinition definition); 
     111         
     112        @Transactional(readOnly=true) 
     113        public Cohort evaluate(CohortDefinition definition, EvaluationContext evalContext); 
     114 
     115        @Transactional(readOnly=true) 
     116        public CohortDefinition getAllPatientsCohortDefinition(); 
    51117 
    52118}