Untitled

mail@pastecode.io avatar
unknown
plain_text
20 days ago
1.1 kB
4
Indexable
Never
async function pulseRate(diagnosisName, doctorId) {
  let totalPulseRate = 0;
  let totalRecords = 0;

  let pageNumber = 1;

  while (true) {
    try {
      const response = await axios.get(`https://jsonmock.hackerrank.com/api/medical records?page=${pageNumber}`);
      const data = response.data;

      const records = data.data;

      const selectedRecords = records.filter(record => (
        record.diagnosis &&
        record.diagnosis.name === diagnosisName &&
        record.doctor &&
        record.doctor.id === doctorId &&
        record.vitals &&
        record.vitals.pulse
      ));

      selectedRecords.forEach(record => {
        totalPulseRate += record.vitals.pulse;
        totalRecords++;
      });

      if (pageNumber < data.total_pages) {
        pageNumber++;
      } else {
        break;
      }
    } catch (error) {
      console.error('Error fetching data:', error.message);
      break;
    }
  }

  if (totalRecords > 0) {
    const averagePulseRate = Math.trunc(totalPulseRate / totalRecords);
    return averagePulseRate;
  } else {
    return 0;
  }
}