source: trunk/grails-app/domain/dbnp/clinicaldata/ClinicalMeasurement.groovy @ 247

Last change on this file since 247 was 247, checked in by duh, 9 years ago
  • set keyword expansion
  • Property svn:keywords set to Author Rev Date
File size: 1.1 KB
Line 
1package dbnp.clinicaldata
2
3import dbnp.data.FeatureType
4
5class ClinicalMeasurement
6 extends dbnp.data.FeatureBase {
7
8        // For now, let's assume that quantitative values are stored as float,
9        // and qualitative values as string
10        // We can always add an additional ClinicalMeasurementType datatype (FLOAT, INTEGER etc.) later (as was here until rev 186)
11
12        String referenceValues
13        float detectableLimit
14        String correctionMethod
15        boolean isDrug
16        boolean isIntake
17        boolean inSerum
18
19        static constraints = {
20                name(unique:true)
21                referenceValues(nullable: true, blank: true)
22                detectableLimit(nullable: true)
23                correctionMethod(nullable: true, blank: true)
24        }
25
26        Map getValues(long assayID, String[] sampleIDs) {
27                FeatureType featureType = type
28                switch(featureType) {
29                        case FeatureType.QUANTITATIVE:
30                                def values = ClinicalFloatData.withCriteria {
31                                        assay { eq("id",assayID) }
32                                        eq("measurement",this)
33                                        'in'("sample",sampleIDs)
34                                }
35                                def result = new HashMap<String,Float>();
36                                values.each {
37                                        result.put(it.sample,it.value)
38                                }
39                                return result
40                        default:
41                                throw new NoSuchFieldException("Feature type ${featureType} not supported")
42                }
43        }
44}
Note: See TracBrowser for help on using the repository browser.