Skip to content

Commit

Permalink
Merge pull request #135 from COOL-cohort/134-process-the-time-in-a-mo…
Browse files Browse the repository at this point in the history
…re-fine-grained-manner

134 process the time in a more fine grained manner
  • Loading branch information
hugy718 authored Jun 8, 2023
2 parents 5443bff + 637783e commit 80070ff
Show file tree
Hide file tree
Showing 48 changed files with 634,476 additions and 353,559 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,7 @@ private void processTuple(MetaChunkRS metaChunk) {
}

LocalDateTime actionTime =
DateUtils.daysSinceEpoch(tuple.getValueBySchema(this.actionTimeSchema).getInt());

DateUtils.secondsSinceEpoch(tuple.getValueBySchema(this.actionTimeSchema).getInt());
// check whether its birthEvent is selected
if (!this.birthSelector.isUserSelected(userId)) {
boolean selected = this.birthSelector.selectEvent(userId, actionTime, this.tuple);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ private void processTuple(MetaChunkRS metaChunk) {
String userId = userMetaField.get(userGlobalID).map(FieldValue::getString).orElse("");

LocalDateTime actionTime =
DateUtils.daysSinceEpoch(tuple.getValueBySchema(this.actionTimeSchema).getInt());
DateUtils.secondsSinceEpoch(tuple.getValueBySchema(this.actionTimeSchema).getInt());
// check whether its birthEvent is selected

// i: the number of birth event
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.nus.cool.core.field.RangeField;
import com.nus.cool.core.field.ValueWrapper;
import com.nus.cool.core.io.readstore.MetaChunkRS;
import com.nus.cool.core.util.converter.DayIntConverter;
import com.nus.cool.core.util.converter.SecondIntConverter;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.List;
Expand Down Expand Up @@ -140,9 +140,9 @@ private static Scope parse(String acceptRange) throws IllegalArgumentException {
r = part[1].equals(MaxLimit) ? null : ValueWrapper.of(Float.parseFloat(part[1]));
} catch (Exception e) {
System.out.println("[Warning]. Parse using float failed, element = " + part[0]);
DayIntConverter dataConverter = new DayIntConverter();
int intValueMin = dataConverter.toInt(part[0]);
int intValueMax = dataConverter.toInt(part[1]);
SecondIntConverter secondConverter = new SecondIntConverter();
int intValueMin = secondConverter.toInt(part[0]);
int intValueMax = secondConverter.toInt(part[1]);
l = part[0].equals(MinLimit) ? null : ValueWrapper.of(intValueMin);
r = part[1].equals(MaxLimit) ? null : ValueWrapper.of(intValueMax);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import com.nus.cool.core.io.readstore.MetaChunkRS;
import com.nus.cool.core.io.readstore.MetaFieldRS;
import com.nus.cool.core.schema.FieldType;
import com.nus.cool.core.util.converter.DayIntConverter;
import com.nus.cool.core.util.converter.SecondIntConverter;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.HashMap;
Expand Down Expand Up @@ -169,7 +169,7 @@ private void groupOnField(FieldRS field, BitSet bs, GranularityType granularity)
}
// convert data int to month str according to granularity
int dataInt = field.getValueByIndex(nextPos).getInt();
DayIntConverter converter = new DayIntConverter();
SecondIntConverter converter = new SecondIntConverter();
String dataStr = converter.getString(dataInt);
// convert to month based string
String[] parts = dataStr.split("-");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@ public static LocalDateTime createCalender(long unixTime) {
TimeZone.getDefault().toZoneId());
}

public static LocalDateTime daysSinceEpoch(int days) {
long unixTime = days * 24 * 3600;
return createCalender(unixTime);
public static LocalDateTime secondsSinceEpoch(int seconds) {
return createCalender(seconds);
}

/**
Expand Down Expand Up @@ -66,10 +65,10 @@ public static TimeWindow getDifference(LocalDateTime ts1, LocalDateTime ts2,
return new TimeWindow(d.toHours(), TimeUtils.TimeUnit.HOUR);
case MINUTE:
return new TimeWindow(d.toMinutes(), TimeUtils.TimeUnit.MINUTE);
case SECOND:
return new TimeWindow(d.toMillis() / 1000, TimeUtils.TimeUnit.SECOND);
case MONTH:
return new TimeWindow(d.toDays() / 30, TimeUtils.TimeUnit.MONTH);
case SECOND:
return new TimeWindow(d.toMinutes() * 60, TimeUtils.TimeUnit.SECOND);
case WEEK:
return new TimeWindow(d.toDays() / 7, TimeUtils.TimeUnit.WEEK);
case YEAR:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.nus.cool.core.field;

import com.nus.cool.core.util.converter.ActionTimeIntConverter;
import com.nus.cool.core.util.converter.DayIntConverter;
import com.nus.cool.core.util.converter.SecondIntConverter;
import lombok.Data;


Expand All @@ -11,5 +11,5 @@
*/
@Data
public class ValueConverterConfig {
ActionTimeIntConverter actionTimeIntConverter = DayIntConverter.getInstance();
ActionTimeIntConverter actionTimeIntConverter = SecondIntConverter.getInstance();
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*/
public interface ActionTimeIntConverter {

// convert the input action time to time since epoch in seconds
public int toInt(String v);

}
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,32 @@
package com.nus.cool.core.util.converter;

import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.DateTimeZone;
import org.joda.time.Seconds;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

/**
* DayIntConverter converts the input day represented in format yyyy-MM-dd to integer which is the
* number of days past the reference day.
* SecondIntConverter converts the input day represented in format yyyy-MM-dd to integer
* which is the number of days past the reference day.
*/
public class DayIntConverter implements ActionTimeIntConverter {
public class SecondIntConverter implements ActionTimeIntConverter {

/**
* Date formatter.
*/
public static final DateTimeFormatter FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
public static final DateTimeFormatter FORMATTER
= DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").withZoneUTC();

/**
* Reference day.
*/
public static final DateTime BASE = FORMATTER.parseDateTime("1970-01-01");
public static final DateTime BASE
= FORMATTER.parseDateTime("1970-01-01 00:00:00").withZone(DateTimeZone.UTC);

public static final ActionTimeIntConverter getInstance() {
return x -> Days.daysBetween(BASE, FORMATTER.parseDateTime(x)).getDays();
// return x -> Days.daysBetween(BASE, FORMATTER.parseDateTime(x)).getDays();
return x -> Seconds.secondsBetween(BASE, FORMATTER.parseDateTime(x)).getSeconds();
}

/**
Expand All @@ -53,17 +57,17 @@ public static final ActionTimeIntConverter getInstance() {
@Override
public int toInt(String v) {
DateTime end = FORMATTER.parseDateTime(v);
return Days.daysBetween(BASE, end).getDays();
return Seconds.secondsBetween(BASE, end).getSeconds();
}

/**
* Get date according to number of days past the reference day.
*
* @param days number of days past the reference day
* @param seconds number of seconds past the reference day
* @return date string value for specific format
*/
public String getString(int days) {
DateTime dt = BASE.plusDays(days);
public String getString(int seconds) {
DateTime dt = BASE.plusSeconds(seconds);
return FORMATTER.print(dt);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ public class CubeMetaTest {
"{\"charset\":\"UTF-8\",\"type\":\"Segment\",\"values\":[\"Labtest-A\",\"Labtest-B\","
+ "\"Labtest-C\",\"None\"]}",
"{\"type\":\"Float\",\"min\":\"0.0\",\"max\":\"70.0\"}",
"{\"type\":\"ActionTime\",\"min\":\"15340\",\"max\":\"15696\"}"
"{\"type\":\"ActionTime\",\"min\":\"" + Integer.toString(15340 * 24 * 3600)
+ "\",\"max\":\"" + Integer.toString(15696 * 24 * 3600) + "\"}"
};

/**
Expand Down
200 changes: 100 additions & 100 deletions cool-core/src/test/java/com/nus/cool/core/resources/fieldtest/table.csv
Original file line number Diff line number Diff line change
@@ -1,101 +1,101 @@
id,birthYear,event,attr1,attr2,attr3,attr4,time
P-7,1990,labtest,None,None,Labtest-C,70,2012-11-23
P-10,1972,labtest,None,None,Labtest-B,27,2012-01-21
P-10,1972,diagnose,Disease-C,None,None,0,2012-08-01
P-12,1971,prescribe,None,Medicine-B,None,0,2012-08-25
P-2,1980,labtest,None,None,Labtest-B,15,2012-01-05
P-10,1972,labtest,None,None,Labtest-B,29,2012-06-18
P-0,1954,diagnose,Disease-B,None,None,0,2012-01-01
P-10,1972,labtest,None,None,Labtest-A,39,2012-01-01
P-12,1971,labtest,None,None,Labtest-B,2,2012-01-13
P-12,1971,prescribe,None,Medicine-B,None,0,2012-08-26
P-0,1954,prescribe,None,Medicine-C,None,0,2012-01-01
P-9,1983,labtest,None,None,Labtest-C,39,2012-01-04
P-10,1972,labtest,None,None,Labtest-B,43,2012-08-06
P-5,1979,labtest,None,None,Labtest-C,17,2012-01-07
P-4,1990,labtest,None,None,Labtest-B,49,2012-04-13
P-9,1983,prescribe,None,Medicine-B,None,0,2012-01-01
P-12,1971,labtest,None,None,Labtest-B,35,2012-12-11
P-0,1954,labtest,None,None,Labtest-B,16,2012-05-22
P-6,1971,diagnose,Disease-A,None,None,0,2012-01-01
P-12,1971,prescribe,None,Medicine-B,None,0,2012-08-24
P-10,1972,diagnose,Disease-C,None,None,0,2012-01-19
P-11,1993,diagnose,Disease-A,None,None,0,2012-09-18
P-12,1971,prescribe,None,Medicine-B,None,0,2012-10-23
P-1,1976,labtest,None,None,Labtest-C,40,2012-01-02
P-5,1979,labtest,None,None,Labtest-B,29,2012-12-12
P-2,1980,prescribe,None,Medicine-B,None,0,2012-01-06
P-11,1993,labtest,None,None,Labtest-A,52,2012-09-21
P-4,1990,labtest,None,None,Labtest-B,38,2012-04-14
P-2,1980,diagnose,Disease-B,None,None,0,2012-12-15
P-7,1990,prescribe,None,Medicine-B,None,0,2012-01-06
P-4,1990,prescribe,None,Medicine-C,None,0,2012-01-04
P-5,1979,labtest,None,None,Labtest-C,22,2012-03-21
P-5,1979,prescribe,None,Medicine-A,None,0,2012-03-23
P-7,1990,labtest,None,None,Labtest-A,39,2012-01-02
P-7,1990,labtest,None,None,Labtest-A,32,2012-01-01
P-6,1971,labtest,None,None,Labtest-C,51,2012-01-01
P-2,1980,labtest,None,None,Labtest-A,1,2012-12-19
P-12,1971,labtest,None,None,Labtest-A,3,2012-10-21
P-12,1971,labtest,None,None,Labtest-B,58,2012-12-13
P-9,1983,prescribe,None,Medicine-B,None,0,2012-01-04
P-2,1980,labtest,None,None,Labtest-A,3,2012-12-20
P-10,1972,labtest,None,None,Labtest-B,6,2012-08-02
P-5,1979,labtest,None,None,Labtest-C,37,2012-03-23
P-10,1972,prescribe,None,Medicine-C,None,0,2012-06-20
P-4,1990,diagnose,Disease-C,None,None,0,2012-11-24
P-9,1983,labtest,None,None,Labtest-C,14,2012-01-01
P-7,1990,diagnose,Disease-A,None,None,0,2012-01-10
P-9,1983,labtest,None,None,Labtest-C,58,2012-01-02
P-2,1980,labtest,None,None,Labtest-B,21,2012-01-09
P-4,1990,labtest,None,None,Labtest-B,44,2012-05-30
P-11,1993,prescribe,None,Medicine-B,None,0,2012-09-20
P-7,1990,labtest,None,None,Labtest-B,21,2012-01-12
P-3,2000,labtest,None,None,Labtest-C,38,2012-01-21
P-12,1971,labtest,None,None,Labtest-B,2,2012-12-12
P-2,1980,labtest,None,None,Labtest-B,40,2012-01-07
P-11,1993,prescribe,None,Medicine-B,None,0,2012-09-23
P-11,1993,labtest,None,None,Labtest-A,40,2012-09-23
P-12,1971,labtest,None,None,Labtest-C,33,2012-08-24
P-2,1980,prescribe,None,Medicine-B,None,0,2012-01-01
P-10,1972,prescribe,None,Medicine-B,None,0,2012-01-20
P-4,1990,labtest,None,None,Labtest-B,5,2012-04-15
P-7,1990,prescribe,None,Medicine-C,None,0,2012-01-13
P-2,1980,labtest,None,None,Labtest-A,0,2012-12-22
P-5,1979,prescribe,None,Medicine-B,None,0,2012-01-04
P-12,1971,labtest,None,None,Labtest-B,5,2012-12-09
P-3,2000,diagnose,Disease-B,None,None,0,2012-01-21
P-10,1972,labtest,None,None,Labtest-B,45,2012-01-19
P-4,1990,labtest,None,None,Labtest-B,3,2012-01-04
P-9,1983,diagnose,Disease-B,None,None,0,2012-03-18
P-10,1972,labtest,None,None,Labtest-B,30,2012-01-20
P-10,1972,prescribe,None,Medicine-A,None,0,2012-08-05
P-10,1972,diagnose,Disease-A,None,None,0,2012-01-04
P-4,1990,prescribe,None,Medicine-B,None,0,2012-11-24
P-5,1979,prescribe,None,Medicine-B,None,0,2012-01-05
P-12,1971,diagnose,Disease-B,None,None,0,2012-01-08
P-12,1971,labtest,None,None,Labtest-C,4,2012-08-28
P-4,1990,prescribe,None,Medicine-C,None,0,2012-01-03
P-8,1986,labtest,None,None,Labtest-B,40,2012-01-01
P-0,1954,labtest,None,None,Labtest-B,2,2012-05-18
P-5,1979,labtest,None,None,Labtest-C,23,2012-01-01
P-7,1990,prescribe,None,Medicine-B,None,0,2012-01-03
P-4,1990,labtest,None,None,Labtest-B,2,2012-11-26
P-12,1971,labtest,None,None,Labtest-B,23,2012-01-01
P-10,1972,labtest,None,None,Labtest-A,20,2012-01-04
P-9,1983,diagnose,Disease-B,None,None,0,2012-01-01
P-5,1979,prescribe,None,Medicine-B,None,0,2012-01-03
P-12,1971,diagnose,Disease-C,None,None,0,2012-10-21
P-10,1972,prescribe,None,Medicine-A,None,0,2012-01-02
P-12,1971,prescribe,None,Medicine-B,None,0,2012-01-01
P-11,1993,labtest,None,None,Labtest-A,1,2012-09-27
P-3,2000,labtest,None,None,Labtest-B,47,2012-01-01
P-11,1993,labtest,None,None,Labtest-A,28,2012-09-18
P-2,1980,prescribe,None,Medicine-B,None,0,2012-12-16
P-10,1972,labtest,None,None,Labtest-B,30,2012-08-07
P-5,1979,prescribe,None,Medicine-C,None,0,2012-12-12
P-9,1983,labtest,None,None,Labtest-C,1,2012-03-24
P-10,1972,diagnose,Disease-C,None,None,0,2012-06-17
P-7,1990,prescribe,None,Medicine-C,None,0,2012-01-14
P-7,1990,diagnose,Disease-C,None,None,0,2012-07-05
P-9,1983,prescribe,None,Medicine-C,None,0,2012-03-19
P-7,1990,labtest,None,None,Labtest-C,70,2012-11-23 00:00:00
P-10,1972,labtest,None,None,Labtest-B,27,2012-01-21 00:00:00
P-10,1972,diagnose,Disease-C,None,None,0,2012-08-01 00:00:00
P-12,1971,prescribe,None,Medicine-B,None,0,2012-08-25 00:00:00
P-2,1980,labtest,None,None,Labtest-B,15,2012-01-05 00:00:00
P-10,1972,labtest,None,None,Labtest-B,29,2012-06-18 00:00:00
P-0,1954,diagnose,Disease-B,None,None,0,2012-01-01 00:00:00
P-10,1972,labtest,None,None,Labtest-A,39,2012-01-01 00:00:00
P-12,1971,labtest,None,None,Labtest-B,2,2012-01-13 00:00:00
P-12,1971,prescribe,None,Medicine-B,None,0,2012-08-26 00:00:00
P-0,1954,prescribe,None,Medicine-C,None,0,2012-01-01 00:00:00
P-9,1983,labtest,None,None,Labtest-C,39,2012-01-04 00:00:00
P-10,1972,labtest,None,None,Labtest-B,43,2012-08-06 00:00:00
P-5,1979,labtest,None,None,Labtest-C,17,2012-01-07 00:00:00
P-4,1990,labtest,None,None,Labtest-B,49,2012-04-13 00:00:00
P-9,1983,prescribe,None,Medicine-B,None,0,2012-01-01 00:00:00
P-12,1971,labtest,None,None,Labtest-B,35,2012-12-11 00:00:00
P-0,1954,labtest,None,None,Labtest-B,16,2012-05-22 00:00:00
P-6,1971,diagnose,Disease-A,None,None,0,2012-01-01 00:00:00
P-12,1971,prescribe,None,Medicine-B,None,0,2012-08-24 00:00:00
P-10,1972,diagnose,Disease-C,None,None,0,2012-01-19 00:00:00
P-11,1993,diagnose,Disease-A,None,None,0,2012-09-18 00:00:00
P-12,1971,prescribe,None,Medicine-B,None,0,2012-10-23 00:00:00
P-1,1976,labtest,None,None,Labtest-C,40,2012-01-02 00:00:00
P-5,1979,labtest,None,None,Labtest-B,29,2012-12-12 00:00:00
P-2,1980,prescribe,None,Medicine-B,None,0,2012-01-06 00:00:00
P-11,1993,labtest,None,None,Labtest-A,52,2012-09-21 00:00:00
P-4,1990,labtest,None,None,Labtest-B,38,2012-04-14 00:00:00
P-2,1980,diagnose,Disease-B,None,None,0,2012-12-15 00:00:00
P-7,1990,prescribe,None,Medicine-B,None,0,2012-01-06 00:00:00
P-4,1990,prescribe,None,Medicine-C,None,0,2012-01-04 00:00:00
P-5,1979,labtest,None,None,Labtest-C,22,2012-03-21 00:00:00
P-5,1979,prescribe,None,Medicine-A,None,0,2012-03-23 00:00:00
P-7,1990,labtest,None,None,Labtest-A,39,2012-01-02 00:00:00
P-7,1990,labtest,None,None,Labtest-A,32,2012-01-01 00:00:00
P-6,1971,labtest,None,None,Labtest-C,51,2012-01-01 00:00:00
P-2,1980,labtest,None,None,Labtest-A,1,2012-12-19 00:00:00
P-12,1971,labtest,None,None,Labtest-A,3,2012-10-21 00:00:00
P-12,1971,labtest,None,None,Labtest-B,58,2012-12-13 00:00:00
P-9,1983,prescribe,None,Medicine-B,None,0,2012-01-04 00:00:00
P-2,1980,labtest,None,None,Labtest-A,3,2012-12-20 00:00:00
P-10,1972,labtest,None,None,Labtest-B,6,2012-08-02 00:00:00
P-5,1979,labtest,None,None,Labtest-C,37,2012-03-23 00:00:00
P-10,1972,prescribe,None,Medicine-C,None,0,2012-06-20 00:00:00
P-4,1990,diagnose,Disease-C,None,None,0,2012-11-24 00:00:00
P-9,1983,labtest,None,None,Labtest-C,14,2012-01-01 00:00:00
P-7,1990,diagnose,Disease-A,None,None,0,2012-01-10 00:00:00
P-9,1983,labtest,None,None,Labtest-C,58,2012-01-02 00:00:00
P-2,1980,labtest,None,None,Labtest-B,21,2012-01-09 00:00:00
P-4,1990,labtest,None,None,Labtest-B,44,2012-05-30 00:00:00
P-11,1993,prescribe,None,Medicine-B,None,0,2012-09-20 00:00:00
P-7,1990,labtest,None,None,Labtest-B,21,2012-01-12 00:00:00
P-3,2000,labtest,None,None,Labtest-C,38,2012-01-21 00:00:00
P-12,1971,labtest,None,None,Labtest-B,2,2012-12-12 00:00:00
P-2,1980,labtest,None,None,Labtest-B,40,2012-01-07 00:00:00
P-11,1993,prescribe,None,Medicine-B,None,0,2012-09-23 00:00:00
P-11,1993,labtest,None,None,Labtest-A,40,2012-09-23 00:00:00
P-12,1971,labtest,None,None,Labtest-C,33,2012-08-24 00:00:00
P-2,1980,prescribe,None,Medicine-B,None,0,2012-01-01 00:00:00
P-10,1972,prescribe,None,Medicine-B,None,0,2012-01-20 00:00:00
P-4,1990,labtest,None,None,Labtest-B,5,2012-04-15 00:00:00
P-7,1990,prescribe,None,Medicine-C,None,0,2012-01-13 00:00:00
P-2,1980,labtest,None,None,Labtest-A,0,2012-12-22 00:00:00
P-5,1979,prescribe,None,Medicine-B,None,0,2012-01-04 00:00:00
P-12,1971,labtest,None,None,Labtest-B,5,2012-12-09 00:00:00
P-3,2000,diagnose,Disease-B,None,None,0,2012-01-21 00:00:00
P-10,1972,labtest,None,None,Labtest-B,45,2012-01-19 00:00:00
P-4,1990,labtest,None,None,Labtest-B,3,2012-01-04 00:00:00
P-9,1983,diagnose,Disease-B,None,None,0,2012-03-18 00:00:00
P-10,1972,labtest,None,None,Labtest-B,30,2012-01-20 00:00:00
P-10,1972,prescribe,None,Medicine-A,None,0,2012-08-05 00:00:00
P-10,1972,diagnose,Disease-A,None,None,0,2012-01-04 00:00:00
P-4,1990,prescribe,None,Medicine-B,None,0,2012-11-24 00:00:00
P-5,1979,prescribe,None,Medicine-B,None,0,2012-01-05 00:00:00
P-12,1971,diagnose,Disease-B,None,None,0,2012-01-08 00:00:00
P-12,1971,labtest,None,None,Labtest-C,4,2012-08-28 00:00:00
P-4,1990,prescribe,None,Medicine-C,None,0,2012-01-03 00:00:00
P-8,1986,labtest,None,None,Labtest-B,40,2012-01-01 00:00:00
P-0,1954,labtest,None,None,Labtest-B,2,2012-05-18 00:00:00
P-5,1979,labtest,None,None,Labtest-C,23,2012-01-01 00:00:00
P-7,1990,prescribe,None,Medicine-B,None,0,2012-01-03 00:00:00
P-4,1990,labtest,None,None,Labtest-B,2,2012-11-26 00:00:00
P-12,1971,labtest,None,None,Labtest-B,23,2012-01-01 00:00:00
P-10,1972,labtest,None,None,Labtest-A,20,2012-01-04 00:00:00
P-9,1983,diagnose,Disease-B,None,None,0,2012-01-01 00:00:00
P-5,1979,prescribe,None,Medicine-B,None,0,2012-01-03 00:00:00
P-12,1971,diagnose,Disease-C,None,None,0,2012-10-21 00:00:00
P-10,1972,prescribe,None,Medicine-A,None,0,2012-01-02 00:00:00
P-12,1971,prescribe,None,Medicine-B,None,0,2012-01-01 00:00:00
P-11,1993,labtest,None,None,Labtest-A,1,2012-09-27 00:00:00
P-3,2000,labtest,None,None,Labtest-B,47,2012-01-01 00:00:00
P-11,1993,labtest,None,None,Labtest-A,28,2012-09-18 00:00:00
P-2,1980,prescribe,None,Medicine-B,None,0,2012-12-16 00:00:00
P-10,1972,labtest,None,None,Labtest-B,30,2012-08-07 00:00:00
P-5,1979,prescribe,None,Medicine-C,None,0,2012-12-12 00:00:00
P-9,1983,labtest,None,None,Labtest-C,1,2012-03-24 00:00:00
P-10,1972,diagnose,Disease-C,None,None,0,2012-06-17 00:00:00
P-7,1990,prescribe,None,Medicine-C,None,0,2012-01-14 00:00:00
P-7,1990,diagnose,Disease-C,None,None,0,2012-07-05 00:00:00
P-9,1983,prescribe,None,Medicine-C,None,0,2012-03-19 00:00:00
Loading

0 comments on commit 80070ff

Please sign in to comment.