Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jeanpaul-mupagasi/6e3c91c105998bdf33ae90201136a20b to your computer and use it in GitHub Desktop.
Save jeanpaul-mupagasi/6e3c91c105998bdf33ae90201136a20b to your computer and use it in GitHub Desktop.
public void run(BahmniEncounterTransaction bahmniEncounterTransaction) {
calculateAndAdd(bahmniEncounterTransaction);
calculateDiffSurgTimeInAndOut(bahmniEncounterTransaction);
}
static def calculateDiffSurgTimeInAndOut(BahmniEncounterTransaction bahmniEncounterTransaction){
Collection<BahmniObservation> observations = bahmniEncounterTransaction.getObservations()
BahmniObservation surgicalTimeDataObservation = find("OR Section", observations, null);
BahmniObservation surgicalTimeInObservation = find("Surgical Time In",surgicalTimeDataObservation ? [surgicalTimeDataObservation] : [], null);
BahmniObservation surgicalTimeOutObservation = find("Surgical Time Out", surgicalTimeDataObservation ? [surgicalTimeDataObservation] : [], null);
BahmniObservation surgicalTotalTimeObservation = find("Surgical Total Time", surgicalTimeDataObservation ? [surgicalTimeDataObservation] : [], null);
Date obsDatetime = getDate(surgicalTimeInObservation) != null ? getDate(surgicalTimeInObservation) : getDate(surgicalTimeOutObservation)
surgicalTotalTimeObservation = surgicalTotalTimeObservation ?: createObs("Surgical Total Time", surgicalTimeDataObservation, bahmniEncounterTransaction, obsDatetime) as BahmniObservation;
def start = Date.parse("yyyy-MM-dd HH:mm",surgicalTimeInObservation.getValue());
def end = Date.parse("yyyy-MM-dd HH:mm",surgicalTimeOutObservation.getValue());
TimeDuration duration = TimeCategory.minus(end, start);
surgicalTotalTimeObservation.setValue(duration);
return;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment