I went back to a similar report I had built (calculate average time for first case of the day over a given period).
I needed to have more fields than just the time displayed so. So if this is the case for you, here is a simplification:
GH1 - DATE
GH2 - Theatre
<Formula INIT>
//insert this formula in the GH2
//Set to highest possible time in the day
//Create shared variables for each field you would like to display (I put PatientName and MRN as an example)
Shared Timevar tInit := Time (23,59 ,59 );
Shared Stringvar strPatientName = "";
Shared Stringvar strMRN = "";
<Formula FIRSTCASE>
//insert this formula in the details section
//include all the variables that you put in the Init formula
Shared Timevar tInit;
shared Timevar tFirstCase;
Shared Stringvar strPatientName;
Shared Stringvar strMRN;
//include all the variables that you put in the Init formula
If {ORtime.field} < than tInit then
(
tFirstCase := {ORtime.field};
strPatientName := {PatientName.field}
strMRN := {MRN.field}
(repeat for whatever fields you included)
);
Now depending on how you want to display this information you would create formulas that call the shared variable in
GH2.
hopefully this is clear, I haven't had my morning cofee yet ; )