avniproject / Adolescent-Sewa-Rural

0 stars 0 forks source link

[Adolescent Sewa Rural]: Visit Schedule - On the completion of Severe Malnutrition - May 2024 #65

Closed kameshbhariya closed 3 months ago

kameshbhariya commented 4 months ago

The changes are marked in RED.

Make the changes in UAT.

Visit Schedule

On completion of Severe Malnutrition Follow-up (which is scheduled post Baseline/Endline

vedfordev commented 4 months ago

backup of schedule :

"use strict";
({ params, imports }) => {
  const programEncounter = params.entity;
  const moment = imports.moment;
  const scheduleBuilder = new imports.rulesConfig.VisitScheduleBuilder({programEncounter});

  const bmi = programEncounter.findLatestObservationInEntireEnrolment('97e3a847-f41b-42e2-beaf-ad6c22bdc227').getReadableValue();

  const numberOfBaselineEncountersCompleted = programEncounter.programEnrolment.getEncounters(true)
  .filter( enc => enc.encounterType.name === "Annual Visit - Baseline" && enc.encounterDateTime != null ).length;

  const numberOfSevereMalnutrtionEncoutnersCompleted = programEncounter.programEnrolment.getEncounters(true)
  .filter( enc => enc.encounterType.name === "Severe Malnutrition Follow-up" && enc.encounterDateTime != null ).length;

  if ( (numberOfBaselineEncountersCompleted * 2 > numberOfSevereMalnutrtionEncoutnersCompleted + 1) && bmi <= 14.5 ) {
    const earliestDate = moment(programEncounter.encounterDateTime).add(1,'year').month(1).date(1).toDate();
    const maxDate = moment(programEncounter.encounterDateTime).add(1,'year').month(1).date(8).toDate();
    scheduleBuilder.add({name: "Severe Malnutrition Follow-up", encounterType: "Severe Malnutrition Follow-up", earliestDate, maxDate});  
};

  return scheduleBuilder.getAll();
};