Calling function using timer liberary

Dear all,

I wanted to use below timer function for diagnostic purpose. Diagnostic has to be carried out exactly for 1 min. without affecting main program. Main function has delay of 1000s. how to use MStimer liberary such that main function should keep on executing and @ same time timer has to call diagnostic every 1 min

Expected program

void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print("IN main loop");
MsTimer2::set(6000, flash); // 500ms period
 MsTimer2::start();
delay(1000);
}
void diagnostic()
{

Serial.println("welcome to diagnostic");
}

out put has to be Welcome to diagnostic has to print after 6ms

not want to do this. this program delay the function1 min.

 #include <MsTimer2.h>
void setup()
{
}
void loop()
{
diagnostic();
delay(60000);
}
void diagnostic()
{
Serial.println("diagnostic mode");
}

Since function declared in Setup it will keep on flashing led

 #include <MsTimer2.h>

void flash() {
  static boolean output = HIGH;

  digitalWrite(13, output);
  output = !output;
}

void setup() {
  pinMode(13, OUTPUT);

  MsTimer2::set(500, flash); // 500ms period
  MsTimer2::start();
}

void loop() {
}

For me it's not clear the question you do !?!

AMPS-N: void loop() { diagnostic(); delay(60000); }

I recommend you start by reading and understanding the "Blink Without Delay" example in the default Arduino samples. This should give you the insight to accomplish what you need.