Sim808 Combination error the below is code for sim808+ Temperature+Ecg+pulseRate

but in this code gps get skipping while exection & all the other working normal.and when i test gps + alert seperatedlyand the code works file when i combined with other sensors and ic2 display then the problem raises
the total code is for health and position monitering

#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>

#define USE_ARDUINO_INTERRUPTS true // Set-up low-level interrupts for most acurate BPM math.
#include <PulseSensorPlayground.h> // Includes the PulseSensorPlayground Library.
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// constants won't change. They're used here to set pin numbers:
const int buttonPin = 5; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin

// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
//Mobile phone number,need to change
#define PHONE_NUMBER "9014299198"
//The content of messages sent
#define MESSAGE "hello,world"
DFRobot_SIM808 sim808(&Serial);
const int PulseWire = 0; // PulseSensor PURPLE WIRE connected to ANALOG PIN 0
const int LED13 = 13; // The on-board Arduino LED, close to PIN 13.
int Threshold = 550; // Determine which Signal to "count as a beat" and which to ignore.
// Use the "Gettting Started Project" to fine-tune Threshold Value beyond default setting.
// Otherwise leave the default "550" value.

#define I2C_ADDR 0x3F
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
#define BACKLIGHT_PIN 3
//
// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2
/
/
// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
//
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin,
D4_pin, D5_pin, D6_pin, D7_pin);
/
/
PulseSensorPlayground pulseSensor; // Creates an instance of the PulseSensorPlayground object called "pulseSensor"
void setup(void)
{
// initialize the pushbutton pin as an input:
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
//mySerial.begin(9600);
Serial.begin(9600);

//******** Initialize sim808 module *************
while(!sim808.init()) {
delay(1000);
Serial.print("Sim808 init error\r\n");
}

//************* Turn on the GPS power************
if( sim808.attachGPS())
Serial.println("Open the GPS power success");
else
Serial.println("Open the GPS power failure");
pinMode(10,INPUT);
pinMode(11,INPUT);
lcd.begin (20, 4);

lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE); // Switch on the backlight
lcd.setBacklight(HIGH);

// start serial port
Serial.begin(9600);
// Start up the library
sensors.begin();

// Configure the PulseSensor object, by assigning our variables to it.
pulseSensor.analogInput(PulseWire);
pulseSensor.blinkOnPulse(LED13); //auto-magically blink Arduino's LED with heartbeat.
pulseSensor.setThreshold(Threshold);

// Double-check the "pulseSensor" object was created and "began" seeing a signal.
if (pulseSensor.begin()) {
Serial.println("We created a pulseSensor Object !"); //This prints one time at Arduino power-up, or on Arduino reset.
}
}

void loop(){

gs();
ms();
delay(1000);
ls();
}
void gs() {
//************** Get GPS data *******************
if (sim808.getGPS())

{
Serial.print(sim808.GPSdata.year);
Serial.print("/");
Serial.print(sim808.GPSdata.month);
Serial.print("/");
Serial.print(sim808.GPSdata.day);
Serial.print(" ");
Serial.print(sim808.GPSdata.hour);
Serial.print(":");
Serial.print(sim808.GPSdata.minute);
Serial.print(":");
Serial.print(sim808.GPSdata.second);
Serial.print(":");
Serial.println(sim808.GPSdata.centisecond);
Serial.print("latitude :");
Serial.println(sim808.GPSdata.lat);
Serial.print("longitude :");
Serial.println(sim808.GPSdata.lon);
Serial.print("speed_kph :");
Serial.println(sim808.GPSdata.speed_kph);
Serial.print("heading :");
Serial.println(sim808.GPSdata.heading);
Serial.println();

//************* Turn off the GPS power ************
sim808.detachGPS();
}

}
void ms() {
buttonState = digitalRead(buttonPin);

if (buttonState == HIGH){
//******** define phone number and text **********
sim808.sendSMS(PHONE_NUMBER,MESSAGE);
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}}
void ls(void)
{

int myBPM = pulseSensor.getBeatsPerMinute(); // Calls function on our pulseSensor object that returns BPM as an "int".
// "myBPM" hold this BPM value now.
pulseSensor.sawStartOfBeat(); // Constantly test to see if "a beat happened".
Serial.println("\n :heart: A HeartBeat Happened ! "); // If test is "true", print a message "a heartbeat happened".
Serial.print("BPM: "); // Print phrase "BPM: "
Serial.println(myBPM);
delay(100);
// Print the value inside of myBPM.
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
sensors.requestTemperatures(); // Send the command to get temperature readings
Serial.print("\n Temperature is: ");
Serial.print(sensors.getTempCByIndex(0)*1.8+32); // Why "byIndex"?
// You can have more than one DS18B20 on the same bus.
// 0 refers to the first IC on the wire
delay(100);
lcd.setCursor(0, 0);
lcd.print("Temperature= ");
lcd.print(sensors.getTempCByIndex(0)*1.8+32);
lcd.print("F");
lcd.setCursor(0, 1);
lcd.print("BPM = ");
lcd.print(myBPM);
lcd.print(" ");
Serial.print("ECG:");
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
Serial.println(analogRead(A1));
delay(100);

}