rm(list=ls())
memory.size(max=TRUE)
## [1] 32.12
library(simmer)
## Warning: package 'simmer' was built under R version 3.3.3
library(simmer.plot)
## Warning: package 'simmer.plot' was built under R version 3.3.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.3.3
library(parallel)
env<-simmer()
The discussion of the simulation terminates at Role3 (temporarily) and then rolls back through each level of care. This is purposeful to support joining patient routing. NOTE: this reflects only 1 company, 1 battalion, 1 brigade, etc..Scaling is trivial, but I wanted to demonstrate first. Before we detail the simulation, we start by initializing the parameters and setting up flexible parameters for use.
####################Initialization of the Sim & Evac Precedence Dist################
#Start by initializing the random number seed
set.seed(1234)
#Set up the distribution for admissions. 18% U/S, 12% U, 30% P, 40% R.
a=c(rep(1,18),rep(2,12),rep(3,30),rep(4,40))
#Set up the distribution for non-admissions. They are generally either priority or routine
na=c(rep(1,1), rep(1,1), rep(3,30),rep(4,70))
#We will use simple functions to sample from these distributions during the course of our simulation.
UPR=function() sample(a,1)
UPR2=function() sample(na,1)
###################################################################################
###########################Number of Total Combat Units#########################
#Number of companies in battalions
numco=4
#Number of battalions in brigades
numbn=4
#Number of brigades in division
numbde=3
#Number of divisions in corps
numdiv=3
#Number of MASFs
numMASF=1
#Number of Hospitals
numhospitals=3
#Number of FRSTs
numFRST=numbn*numbde+numdiv
################################################################################
########################Ground Ambulance Distributions##########################
#Capacity of company GA
b=2
#Number of GA pushed by BN to each company
num_co_ga=2
#Capacity of Bn GA vehicles
bncapga=4
#Number of GA pushed by each Bde to Bn + Bn reserves
num_bn_ga=5
#Number of BDE GA pushed forward to each Bn
num_bde_ga=3
#Number of seats for XX GA
bdecapga=4
#OR for GA
groundOR=.90 #from planning assumptions
dtga=(1-groundOR)*1440 #minutes down each day
#Ground Refuel Time
gref=15
#GA Speed
gaspeed=25 #Near the front
gaspeed2=40 #behind the BAS
################################################################################
##########################Air Ambulance Parameters##############################
#Number of XAA assets pushed to Brigades
num_bde_aa=15 #assumes they move around within the division
#Maximum batching for forward aircraft (4 for treatment)
bdeairbatch=4
#Maximum batching from FRST to Role 3 aircraft (2, due to surg equipment)
bdefrstbatch=2
#Number of XXX AAs
num_xxx_aa=15
#OR for AA
aaOR=.80
dtaa=(1-aaOR)*1440
#Refuel Time for AA.
aaref=20
################################################################################
########################Treatment Parameters for Sim############################
#Number of 1st responders in each company (medic+)
num_medics=5
#Number of MD/PA in Bn.
num_MD=2
#Number of FRST Tables per FRST
num_FRST=2
#Number of holding beds FRST
num_FRST_hold=4
#Number of ICUs per Hospital
num_ICU=24
#Number of ICWs per Hospital
num_ICW=48
################################################################################
###############Battlefield Locations, Neutral Grid##############################
#Grid locations Example. You can lay these out for each point / element, or
#you can have a representative layout without it. You simply need to layout the
#battlefield as appropriate.
POI=c(0,0)
CAS=c(2,2)
BAS=c(10,10)
BDE=c(35,35)
FRST=c(37,37)
XX=c(50,50)
XXX=c(100,100)
oooo=c(150,150)
################################################################################
##############################Ground Ambulance Calcs############################
#Load & unload time per patient, POI
loadga=2
#Mean ground time to /from company aid station
groundcas=sqrt(sum((POI-CAS)^2))/gaspeed
#Mean travel time to /from BAS at 25 kph
groundbas=sqrt(sum((CAS-BAS)^2))/gaspeed
#Mean travel time BAS to BSMC
groundbsmc=sqrt(sum((BAS-BDE)^2))/gaspeed2
#Mean travel time BSMC to XXX
groundxxx=sqrt(sum((BDE-XXX)^2))/gaspeed2
#Mean travel time XXX to MASF
groundoooo=sqrt(sum((oooo-XXX)^2))/gaspeed2
################################################################################
################Aircraft Time & Distance Parameters##############################
#Note: all of these could be a function of date / speed.
#Lay out the Euclidean distance by day and calculate mean travel time based on speed.
acspeed=222 #kph
#Flight time from BDE to CCP / Return
airccp=sqrt(sum((POI-BDE)^2))/acspeed
#Flight time from Bde Location to Bn AXP.
bdeair=sqrt(sum((BAS-BDE)^2))/acspeed
#Flight time from Bn AXP to FRST.
bdeairFRST=sqrt(sum((BAS-FRST)^2))/acspeed
#Flight time for FRST to RTB.
bdeairRTB=sqrt(sum((BDE-FRST)^2))/acspeed
#Flight time from FRST to XXX
airxxx=sqrt(sum((FRST-XXX)^2))/acspeed
################################################################################
################Patient Treatment Parameters###################################
#Treatment time average for first responders. All are distributed as ~exp
cm=5
#Average treatment time by BAS MD/PA. ~exp
tx=15
#Pre-Treatment at FRST. ~exp
prefrst=25
#Surgical time at FRST
frstsurg=75
#Post-op time at FRST
frstpost=300
#Surgical time at CSH
cshsurg=75
#Post-op time at CSH
cshpost=1440
################################################################################
################Signal Parameters for Triggering Evac###########################
#Signals
signal="9-line Co GA"
signal0="9-line BN GA"
signal1="9-line Bde GA"
signal2="9-line XX AA"
signal3="9-line XXX AA"
################################################################################
Air Movement
role3air<-trajectory()%>%
separate()%>%
batch(bdefrstbatch, timeout=5, permanent=FALSE)%>%
send(signal3)%>%
seize("XXXAA", 1)%>%
log_("XXXAA seized")%>%
timeout(function()rexp(1,1/airxxx))%>%
release("XXXAA", 1)%>%
separate()%>%
leave(1)
###NOTE: be sure you release before you separate if you batch.
Ground Movement
role3ground<-trajectory()%>%
separate()%>%
batch(bdecapga, timeout=0, permanent=FALSE)%>%
send(signal2)%>%
seize("XGA", 1)%>%
log_("XGA seized")%>%
timeout(function()rexp(1,1/groundxxx))%>%
release("bdegrd",1)%>%
separate()%>%
leave(1)
Patients at the AXP who do not RTD are sent here for additional processing.
role3move<-trajectory()%>%
branch(function() get_attribute(env, "UPR"),continue=c(F,F,F,F),
trajectory("UrgSurg4")%>%
join(role3air),
trajectory("Urg4")%>%
join(role3air),
trajectory("Pri4")%>%
leave(.2)%>% #% RTD at BSMC
join(role3ground),
trajectory("Rou4")%>%
join(role3ground) #% RTD at BSMC
)
Surgical patients arrive at the FRST. If the queue is too large, they are sent to Role 3 for surgery through the AXP. They have pre-surgical treatment, surgery, post-surgical treatment, and recovery time. After recovery, they demand an air ambulance.
role2FRST<-trajectory()%>%
#log time
set_attribute("FRSTSurg", now(env))%>%
#ensure that the patients are unbatched before branching
separate()%>%
branch(function() get_attribute(env, "UPR"),continue=c(F,F,F,F),
trajectory("UrgSurg")%>%
#Surgical prep
timeout(function() rexp(1, 1/prefrst))%>%
#Surgery
timeout(function() rexp(1, 1/frstsurg))%>%
#Post-Op
timeout(function() rexp(1, 1/frstpost))%>%
#Placemarker for additional evac
log_(function() paste0("Surgery time by AA to FRST:",now(env)-get_attribute(env, "FRSTSurg"))),
trajectory("Urg")%>%
join(role3move),#AXP
trajectory("Pri")%>%
leave(.2)%>% #% RTD at BSMC
join(role3move),
trajectory("Rou")%>%
leave(.75) #% RTD at BSMC
)
Patients move to Role 2 BCMC/AXP via ground.
role2ground<-trajectory()%>%
send(signal2)%>%
batch(bdecapga, timeout=0, permanent=FALSE)%>%
seize("bdegrd",1)%>%
set_attribute("BAS_BSMC", now(env))%>%
#GA heads to BAS
timeout(function() rexp(1,1/groundbsmc))%>%
#Load the vehicle with the batch of patients.
timeout(function() loadga*rexp(1,1/2))%>%
#Move to the FRST
timeout(function() rexp(1,1/groundbsmc))%>%
#Account for the unloading time.
timeout(function() loadga*rexp(1,1/2))%>%
separate()%>%
#Send the GA back to base, logging the total movement time.
branch(function() get_attribute(env, "entity"), continue=c(T,F),
trajectory("Patient")%>%
separate()%>%
release("bdegrd",1)%>%
join(role2FRST),
trajectory("Vehicle")%>%
timeout(function() rexp(1,1/groundbsmc))%>% #RTB from FRST
timeout(function() rexp(1,1/gref))%>%
log_(function() paste0("Movement time by AA to BSMC via Gd: ", now(env)-get_attribute(env, "BAS_BSMC")))%>%
release("bdegrd",1)
)
The aircraft heads to the BAS while the batched patients wait. The aircraft is loaded, flys to the FRST, is unloaded, and RTBs. The patients are removed from a batch at the FRST.
role2air<-trajectory()%>%
send(signal2)%>%
batch(bdeairbatch, timeout=0, permanent=FALSE)%>%
seize("bdegrd",1)%>%
set_attribute("BAS_BSMC", now(env))%>%
#Aircraft heads to BAS
timeout(function() rexp(1,1/bdeair))%>%
#Load the vehicle with the batch of patients.
timeout(function() bdeairbatch*rexp(1,1/2))%>%
#Move to the FRST
timeout(function() rexp(1,1/bdeairFRST))%>%
#Account for the unloading time.
timeout(function() bdeairbatch*rexp(1,1/2))%>%
separate()%>%
#Send the air ambulance back to base, logging the total movement time.
branch(function() get_attribute(env, "entity"), continue=c(T,F),
trajectory("Patient")%>%
separate()%>%
join(role2FRST),
trajectory("Vehicle")%>%
timeout(function() rexp(1,1/bdeairRTB))%>%
timeout(function() rexp(1,1/aaref))%>%
log_(function() paste0("Movement time by AA to BSMC: ", now(env)-get_attribute(env, "BAS_BSMC")))%>%
release("XXAA",1)
)
At the BAS AXP, patients are batched and processed for further transport to BSMC or FRST.
role2axp<-trajectory() %>%
#We establish a batch attribute for logging.
set_attribute("batch", 1)%>%
log_("Patient Departing BAS for FRST/BSMC")%>%
branch(function()get_attribute(env, "UPR"), continue=c(F,F,T,F),
trajectory()%>%
join(role2air),
trajectory()%>%
join(role2air),
trajectory()%>%
join(role2ground),
trajectory()%>%
join(role2ground)
)
Urgent patients at the BAS are evaluated by the physician where possible. If it is taking too long (5 minutes), they are assumed to be triaged and sent directly to evacuation to avoid issues with delays.
role2urg<-trajectory()%>%
set_attribute("URGTX", now(env))%>%
#Urgent patients renege in 5 minutes if not treated by the MD. They are assumed triaged and then transported.
renege_in(5,
out=role2axp%>%
log_("Reneging")
)%>%
#triage / treatment by BAS MD
seize("MD", 1)%>%
renege_abort()%>%
#Median treatment time
timeout(rexp(1,1/tx))%>%
#Release the MD once done using.
release("MD", 1)%>%
log_(function()
paste0("Urgent Treatment Time at BAS: ", now(env)-get_attribute(env, "URGTX"))
)%>%
join(role2axp)
Non-urgent patients visit the BAS and are seen by the MD / PA. They never renege on treatment, unlike the urgent admissions.
role2PR<-trajectory()%>%
#triage / treatment by BAS MD
seize("MD", 1)%>%
#Median treatment time
timeout(rexp(1,1/tx))%>%
#Release the MD once done using.
release("MD", 1)%>%
log_("MD/PA Used")%>%
join(role2axp)
At the BAS, patients arrive. If U/US are not seen within 10 minutes, then they renege.
role2<-trajectory() %>%
log_("Patient arrives at Role 2 for Treatment")%>%
separate()%>%
branch(function()get_attribute(env, "UPR"), continue=c(F,F,T,T),
trajectory("UrgSurg1")%>%
join(role2urg),
trajectory("Urg1")%>%
join(role2urg),
trajectory("Pri")%>%
join(role2PR),
trajectory("Rou")%>%
join(role2PR)
)
role1ground2<-trajectory()%>%
#Load BN 4-Seaters (or Whatever)
timeout(function() rexp(1,1/loadga)) %>%
#BAS to BSMC
timeout(function() rexp(1,1/groundbsmc)) %>%
#Unload vehicle
timeout(function() rexp(1,1/loadga)) %>%
#separate the batches
separate()%>%
log_("Patient Movement to BSMC via GA")%>%
#Send the ground ambulance back to base.
branch(function() get_attribute(env,"entity"), continue=c(T,F),
trajectory("Pat1")%>%
join(role2PR),
trajectory("Veh1")%>%
timeout(function() rexp(1,1/groundcas)) %>%
release("bngrd",1)%>%
timeout(gref)
)
role1ground<-trajectory()%>%
#Batch
batch(bncapga, timeout=10, permanent=FALSE)%>%
send(signal0)%>% #this is the signal for a ground ambulance.
seize("bngrd",1)%>%
join(role1ground2)
This logic moves the patient from the CCP to FRST via air ambulance. In addition, the logic investigates the queue size for air, and piles on priority and routine patients if space in the queue is available.
role1air<-trajectory()%>%
batch(bdeairbatch,timeout=5)%>%
send(signal2)%>% #signal for XXAA
#Aircraft heads to CCP and patient waits.
timeout(function() rexp(1,1/airccp))%>%
#Load the aircraft with the batch of patients.
timeout(function() bdeairbatch*rexp(1,1/2))%>%
#Move to the FRST
timeout(rexp(1,1/bdeairFRST))%>%
#Account for the unloading time.
timeout(function() bdeairbatch*rexp(1,1/2))%>%
#separate the batch
separate()%>%
log_("Patient Movement to FRST via AA")%>%
#Send the air ambulance back to base.
branch(function() get_attribute(env,"entity"), continue=c(F,F),
trajectory("Pat2")%>%
join(role2FRST),
trajectory("Veh2")%>%
timeout(rexp(1,1/bdeairRTB))%>%
release("XXAA",1)%>%
timeout(aaref)
)
Every patient is moved from the CCP to either the BAS (P/R), FRST (US), or AXP/BSMC (U). Nobody RTDs from this location. They are presentations to the BAS. When a patient arrives, that patient calls for a ground or ambulance. The patient is loaded. The patient is delivered to the BAS and unloaded. (Note: while the ground ambulance has a round robin, the patient’s movement is one way.)
role1disp<-trajectory()%>%
#We identify these patients as coming from Role 1 rather than Role 2
#(part of the 9-line!)
set_attribute("Role1",1)%>%
separate()%>%
#Send Urgents / Urgent Surgical by Air to FRST / BSMC / AXP.
branch(function() get_attribute(env, "UPR"), continue=c(F,F,F,F),
trajectory("UrgSurg3")%>%
#Batch the arrivals for processing
join(role1air), #this is the location for U/US patients
trajectory("Urg3")%>%
join(role1air), #this is the location for U/US patients
trajectory("Prio3")%>%
#Send a 9-Line
join(role1ground),#this is the trajectory for that ambulance
trajectory("Rou3")%>%
join(role1ground)
)
Patients have come to this trajectory from rolemove() where they were batched and assigned attributes. Here, the patient is moved from POI to the company aid station and screened by a combat medic.
role1move2<-trajectory()%>%
#Load the vehicle with the batch of patients. The Vehicle response time is near zero (pushed forward).
timeout(function() b*rexp(1,1/loadga))%>%
#Move to the Company Aid Station with the batch.
timeout(rexp(1,1/groundbas))%>%
#Unload the patients based on time.
timeout(function() b*rexp(1,1/2))%>%
#Send the ground ambulance back to base.
timeout(rexp(1,1/groundbas))%>%
#Release the ground ambulance.
release("cogrd",1)%>%
separate()%>%
#The ground ambulance returns to base.
branch(function() get_attribute(env,"entity"), continue=c(T,F),
trajectory("Pat4")%>%
#Patients are now unbatched.
separate()%>%
#A combat medic is seized for the treatment.
seize("medic", 1)%>%
#Treat / Triage.
timeout(rexp(1,1/cm))%>%
#Release the Medic
release("medic", 1)%>%
log_("Combat Medic Used"),
trajectory("Veh4")%>%
timeout(function() rexp(1,1/groundcas))
)%>%
join(role1disp)
Patients arriving to the CCP are batched for movement by GA to the Comany Aid Station. A signal for the ground ambulance is sent, and ground ambulance is seized (role1move). (Ostensibly movement from POI to CCP is small and done either by foot or by ground. Legitimately the CCP could be at a POI location dependent on threat.)
role1move<-trajectory()%>%
log_("Patient Movement to BAS via GA")%>%
#Package patients into GA.
batch(b, timeout=5, permanent=FALSE)%>%
#Patient evacuated from POI by vehicle (ostensibly GA). Send a 9-line and wait for it.
#Since the vehicle is co-located at POI, there is only a delay for it to return from mission.
send(signal)%>%
#Once the signal is sent, get a ground ambulance.
seize("cogrd",1)%>%
log_("Company GA Seized")%>%
#Identify patients as a batch,
set_attribute("batch", 1)%>%
join(role1move2)
Non-admissions are assigned a UPR label, an associated prioritization / premption identifier, and are further identified as patients rather than a vehicle entity token (role1non).
role1non<- trajectory("POI to Role1 Non-Admits") %>%
#Assign as a non-admission and set priority.
set_attribute("admit",0)%>%
set_attribute("UPR", function() UPR2())%>%
set_attribute("entity",1)%>%
log_(function() paste0("Non-Admission Arrives Priority: ", get_attribute(env,"UPR")))%>%
#set prioritization based on UPR. This ensures urgent are treated first.
set_prioritization(values = function() {
prio<-sample(a,1)
attr<-prio
c(prio,attr, FALSE)
}) %>%
join(role1move)
Admissions arrive. They receive an evacuation precedent and prioritation precedent for routing. Unbatched, they move to role1move for evacuation processing.
role1<- trajectory("POI to Role1 Admits") %>%
#Assign as an admit and set priority.
set_attribute("admit",1)%>%
set_attribute("UPR", function() UPR())%>%
set_attribute("entity", 1)%>%
log_(function() paste0("Admission Arrives Priority: ", get_attribute(env,"UPR")))%>%
#set prioritization based on UPR. This ensures urgent are treated first.
set_prioritization(values = function() {
prio<-sample(a,1)
attr<-prio
c(prio,attr, FALSE)
}) %>%
join(role1move)
These are the downtime and arrival controllers.
The Air Ambulance module simply listens for a demand for movement from the patient at Role 2. Once that request comes, the controller entity seizes an XXAA and sets it in motion. The Operational Readiness rate determines how much downtime occurs on a given day.
###########################AA Dispatch & Downtime#############################
##The air ambulance is dispatched when it receives a signal if it is not broken.
role3AA<-trajectory()%>%
#Identify the entity as a vehicle (2).
set_attribute("entity", 2)%>%
#Wait for a signal to move.
trap(signal3)%>%
wait()%>%
#Once that signal is received from a batched group, set the
untrap(signal3)%>%
set_attribute("batch", 0)%>%
##############################Continue Processing##############################
join(role3air)
The Air Ambulance module simply listens for a demand for movement from the patient at Role 2. Once that request comes, the controller entity seizes an XXAA and sets it in motion. The Operational Readiness rate determines how much downtime occurs on a given day.
###########################AA Dispatch & Downtime#############################
##The ambulance is dispatched when it receives a signal if it is not broken.
role2AA<-trajectory()%>%
#Identify the entity as a vehicle (2).
set_attribute("entity", 2)%>%
#Wait for a signal to move.
trap(signal2)%>%
wait()%>%
#Once that signal is received from a batched group, request an air ambulance.
seize("XXAA",1)%>%
untrap(signal2)%>%
set_attribute("batch", 0)%>%
##############################Continue Processing##############################
join(role2air)
The XXX Air Ambulance module simply listens for downtime signals.
###########################Downtime Calculations############################
failure3 <- trajectory() %>%
set_attribute("down4", now(env))%>%
#Randomly select ground ambulance vehicle for downing
select("XXXAA", policy = "random") %>%
#Seize selected asset.
seize_selected(1) %>%
#Take it down for 288 minutes. This occurs every 24 hours or 1440 minutes for an 80% OR
timeout(dtaa) %>%
release_selected(1)%>%
log_(function() paste0("Fixed XXXAA", now(env)- get_attribute(env, "down4"), "minutes"))
###########################AA Dispatch & Downtime############################
The Air Ambulance module simply listens for downtime signals.
###########################Downtime Calculations############################
failure2 <- trajectory() %>%
set_attribute("down3", now(env))%>%
#Randomly select ground ambulance vehicle for downing
select("XXAA", policy = "random") %>%
#Seize selected asset.
seize_selected(1) %>%
#Take it down for 288 minutes. This occurs every 24 hours or 1440 minutes for an 80% OR
timeout(dtaa) %>%
release_selected(1)%>%
log_(function() paste0("Fixed XXAA", now(env)- get_attribute(env, "down3"), "minutes"))
###########################AA Dispatch & Downtime############################
The ground ambulance module simply listens for a request for movement from the patient. Once that request comes, the controller entity seizes a company ground ambulance and sets it in motion. The Operational Readiness rate determines how much downtime occurs on a given day.
########################BN GA Dispatch & Downtime############################
#The ground ambulance is dispatched when it receives a signal (if it is not down).
role1bdeGA<-trajectory("Battalion GA")%>%
#Identify the entity as a vehicle (2).
set_attribute("entity", 2)%>%
#Wait for a signal to move.
trap(signal2)%>%
wait()%>%
#Once the signal is received, get a ground ambulance.
seize("bdegrd",1)%>%
log_("Brigade GA Used")%>%
#Release that signal.
untrap(signal2)%>%
#Identify that there is no batching.
set_attribute("batch", 0)%>%
join(role3ground)
##Downtime. This accounts for the operational readiness rate XX GA.
failure1a<- trajectory() %>%
set_attribute("down2a", now(env))%>%
#Randomly select ground ambulance vehicle for downing
select("bdgrd", policy = "random") %>%
#Seize selected asset.
seize_selected(1) %>%
#Take it down for 144 minutes. This occurs every 24 hours or 1440 minutes for a 90% OR
timeout(dtga) %>%
release_selected(1)%>%
log_(function() paste0("Fixed Bde GA ", now(env)-get_attribute(env, "down2a"), "minutes"))
#############################################################################
The ground ambulance module simply listens for a request for movement from the patient. Once that request comes, the controller entity seizes a company ground ambulance and sets it in motion. The Operational Readiness rate determines how much downtime occurs on a given day.
########################BN GA Dispatch & Downtime############################
#The ground ambulance is dispatched when it receives a signal (if it is not down).
role1bnGA<-trajectory("Battalion GA")%>%
#Identify the entity as a vehicle (2).
set_attribute("entity", 2)%>%
#Wait for a signal to move.
trap(signal0)%>%
wait()%>%
#Once the signal is received, get a ground ambulance.
seize("bngrd",1)%>%
log_("Battalion GA Used")%>%
#Release that signal.
untrap(signal0)%>%
#Identify that there is no batching.
set_attribute("batch", 0)%>%
join(role1ground2)
##Downtime. This accounts for the operational readiness rate.
failure1 <- trajectory() %>%
set_attribute("down2", now(env))%>%
#Randomly select ground ambulance vehicle for downing
select("bngrd", policy = "random") %>%
#Seize selected asset.
seize_selected(1) %>%
#Take it down for 144 minutes. This occurs every 24 hours or 1440 minutes for a 90% OR
timeout(dtga) %>%
release_selected(1)%>%
log_(function() paste0("Fixed Bn GA ", now(env)-get_attribute(env, "down2"), "minutes"))
#############################################################################
The ground ambulance module simply listens for a request for movement from the patient. Once that request comes, the controller entity seizes a company ground ambulance and sets it in motion. The Operational Readiness rate determines how much downtime occurs on a given day.
########################Co GA Dispatch & Downtime############################
#The ground ambulance is dispatched when it receives a signal if not broken.
role1GA<-trajectory("Company GA")%>%
#Identify the entity as a vehicle (2).
set_attribute("entity", 2)%>%
#Wait for a signal to move.
trap(signal)%>%
wait()%>%
seize("cogrd", 1) %>%
log_(function() paste0("Seize Co GA: ", now(env)))%>%
#Release that signal.
untrap(signal)%>%
#Identify that there is no batching.
set_attribute("batch", 0)%>%
join(role1move2)
##Downtime. This accounts for the operational readiness rate.
failure <- trajectory() %>%
set_attribute("down", now(env))%>%
#Randomly select ground ambulance vehicle for downing
select("cogrd", policy = "random") %>%
#Seize selected asset.
seize_selected(1) %>%
#Take it down for 144 minutes. This occurs every 24 hours or 1440 minutes for a 90% OR
timeout(dtga) %>%
release_selected(1)%>%
log_(function() paste0("Co GA Repair Time: ", now(env)-get_attribute(env, "down"), "minutes"))
###############################################################################
This is where we initialize the environment and add the resources as well as the entities.
#####################Set up Sim Runs################################
#envs <- mclapply(1:100, function(i) {
#simmer("SuperDuperSim") %>%
env %>%
add_resource("medic", num_medics, preemptive=TRUE, mon=TRUE) %>%
add_resource("cogrd", num_co_ga, preemptive=TRUE, mon=TRUE) %>%
add_resource("bngrd", num_bn_ga, preemptive=TRUE, mon=TRUE) %>%
add_resource("bdegrd", num_bde_ga, preemptive=TRUE, mon=TRUE) %>%
add_resource("XXAA", num_bde_aa, preemptive=TRUE, mon=TRUE) %>%
add_resource("XXXAA", num_xxx_aa, preemptive=TRUE, mon=TRUE) %>%
add_resource("MD", num_MD, preemptive=TRUE, mon=TRUE) %>%
add_generator("co_admit", role1, function() exp(1/5), mon=2) %>%
add_generator("non_admit", role1non, function() exp(1/5), mon=2) %>%
add_generator("co_ga", role1GA, function() rexp(1,1), mon=2) %>%
add_generator("bn_ga", role1bnGA, function() rexp(1,1), mon=2) %>%
add_generator("bde_ga", role1bdeGA, function() rexp(1,1), mon=2) %>%
add_generator("XX AA", role2AA, function() rexp(1,1), mon=2)%>%
add_generator("XXX AA", role3AA, function() rexp(1,1), mon=2) %>%
add_generator("Co GA failure", failure, function() rexp(1, 1/1440 * num_co_ga ), priority = 1, mon=2) %>%
add_generator("Bn GA failure", failure1, function() rexp(1, 1/1440 * num_bn_ga ), priority = 1, mon=2) %>%
add_generator("Bde GA failure", failure1a, function() rexp(1, 1/1440 * num_bde_ga ), priority = 1, mon=2) %>%
add_generator("XX AA failure", failure2, function() rexp(1, 1/1440 * num_bde_aa ), priority = 1, mon=2) %>%
add_generator("XXX AA failure", failure3, function() rexp(1, 1/1440 * num_xxx_aa ), priority = 1, mon=2) %>%
run(240)
## 1.2214: co_admit0: Admission Arrives Priority: 2
## 1.2214: co_admit0: Patient Movement to BAS via GA
## 1.2214: non_admit0: Non-Admission Arrives Priority: 4
## 1.2214: non_admit0: Patient Movement to BAS via GA
## 2.44281: co_admit1: Admission Arrives Priority: 4
## 2.44281: co_admit1: Patient Movement to BAS via GA
## 2.44281: batch0: Company GA Seized
## 2.44281: non_admit1: Non-Admission Arrives Priority: 4
## 2.44281: non_admit1: Patient Movement to BAS via GA
## 2.44281: batch1: Company GA Seized
## 3.66421: co_admit2: Admission Arrives Priority: 3
## 3.66421: co_admit2: Patient Movement to BAS via GA
## 3.66421: non_admit2: Non-Admission Arrives Priority: 4
## 3.66421: non_admit2: Patient Movement to BAS via GA
## 4.88561: co_admit3: Admission Arrives Priority: 4
## 4.88561: co_admit3: Patient Movement to BAS via GA
## 4.88561: non_admit3: Non-Admission Arrives Priority: 3
## 4.88561: non_admit3: Patient Movement to BAS via GA
## 6.10701: co_admit4: Admission Arrives Priority: 4
## 6.10701: co_admit4: Patient Movement to BAS via GA
## 6.10701: non_admit4: Non-Admission Arrives Priority: 3
## 6.10701: non_admit4: Patient Movement to BAS via GA
## 7.32842: co_admit5: Admission Arrives Priority: 1
## 7.32842: co_admit5: Patient Movement to BAS via GA
## 7.32842: non_admit5: Non-Admission Arrives Priority: 4
## 7.32842: non_admit5: Patient Movement to BAS via GA
## 8.54982: co_admit6: Admission Arrives Priority: 1
## 8.54982: co_admit6: Patient Movement to BAS via GA
## 8.54982: non_admit6: Non-Admission Arrives Priority: 3
## 8.54982: non_admit6: Patient Movement to BAS via GA
## 8.57123: co_ga0: Seize Co GA: 8.57123197986322
## 9.43763: co_ga1: Seize Co GA: 9.43762561205005
## 9.77122: co_admit7: Admission Arrives Priority: 4
## 9.77122: co_admit7: Patient Movement to BAS via GA
## 9.77122: non_admit7: Non-Admission Arrives Priority: 4
## 9.77122: non_admit7: Patient Movement to BAS via GA
## 10.9926: co_admit8: Admission Arrives Priority: 1
## 10.9926: co_admit8: Patient Movement to BAS via GA
## 10.9926: non_admit8: Non-Admission Arrives Priority: 3
## 10.9926: non_admit8: Patient Movement to BAS via GA
## 12.214: co_admit9: Admission Arrives Priority: 3
## 12.214: co_admit9: Patient Movement to BAS via GA
## 12.214: non_admit9: Non-Admission Arrives Priority: 4
## 12.214: non_admit9: Patient Movement to BAS via GA
## 12.6916: non_admit0: Combat Medic Used
## 12.6916: non_admit1: Combat Medic Used
## 13.4354: co_admit10: Admission Arrives Priority: 4
## 13.4354: co_admit10: Patient Movement to BAS via GA
## 13.4354: non_admit10: Non-Admission Arrives Priority: 4
## 13.4354: non_admit10: Patient Movement to BAS via GA
## 13.558: co_admit0: Combat Medic Used
## 13.558: co_admit1: Combat Medic Used
## 14.6568: co_admit11: Admission Arrives Priority: 3
## 14.6568: co_admit11: Patient Movement to BAS via GA
## 14.6568: non_admit11: Non-Admission Arrives Priority: 4
## 14.6568: non_admit11: Patient Movement to BAS via GA
## 15.2209: co_ga2: Seize Co GA: 15.2209330109192
## 15.8782: co_admit12: Admission Arrives Priority: 3
## 15.8782: co_admit12: Patient Movement to BAS via GA
## 15.8782: non_admit12: Non-Admission Arrives Priority: 3
## 15.8782: non_admit12: Patient Movement to BAS via GA
## 17.0996: co_admit13: Admission Arrives Priority: 1
## 17.0996: co_admit13: Patient Movement to BAS via GA
## 17.0996: non_admit13: Non-Admission Arrives Priority: 4
## 17.0996: non_admit13: Patient Movement to BAS via GA
## 18.321: co_admit14: Admission Arrives Priority: 1
## 18.321: co_admit14: Patient Movement to BAS via GA
## 18.321: non_admit14: Non-Admission Arrives Priority: 4
## 18.321: non_admit14: Patient Movement to BAS via GA
## 18.558: bde_ga0: Brigade GA Used
## 18.558: bde_ga1: Brigade GA Used
## 18.558: bde_ga2: Brigade GA Used
## 19.5424: co_admit15: Admission Arrives Priority: 3
## 19.5424: co_admit15: Patient Movement to BAS via GA
## 19.5424: non_admit15: Non-Admission Arrives Priority: 4
## 19.5424: non_admit15: Patient Movement to BAS via GA
## 20.7638: co_admit16: Admission Arrives Priority: 3
## 20.7638: co_admit16: Patient Movement to BAS via GA
## 20.7638: non_admit16: Non-Admission Arrives Priority: 4
## 20.7638: non_admit16: Patient Movement to BAS via GA
## 21.9852: co_admit17: Admission Arrives Priority: 3
## 21.9852: co_admit17: Patient Movement to BAS via GA
## 21.9852: non_admit17: Non-Admission Arrives Priority: 4
## 21.9852: non_admit17: Patient Movement to BAS via GA
## 22.6916: bn_ga0: Battalion GA Used
## 22.6916: bn_ga1: Battalion GA Used
## 22.6916: bn_ga2: Battalion GA Used
## 22.6916: bn_ga3: Battalion GA Used
## 22.8191: batch2: Company GA Seized
## 23.2067: co_admit18: Admission Arrives Priority: 4
## 23.2067: co_admit18: Patient Movement to BAS via GA
## 23.2067: non_admit18: Non-Admission Arrives Priority: 4
## 23.2067: non_admit18: Patient Movement to BAS via GA
## 23.9635: bn_ga3: Patient Movement to BSMC via GA
## 24.1075: bn_ga4: Battalion GA Used
## 24.2197: bn_ga2: Patient Movement to BSMC via GA
## 24.2554: bn_ga5: Battalion GA Used
## 24.4281: co_admit19: Admission Arrives Priority: 1
## 24.4281: co_admit19: Patient Movement to BAS via GA
## 24.4281: non_admit19: Non-Admission Arrives Priority: 3
## 24.4281: non_admit19: Patient Movement to BAS via GA
## 25.6495: co_admit20: Admission Arrives Priority: 4
## 25.6495: co_admit20: Patient Movement to BAS via GA
## 25.6495: non_admit20: Non-Admission Arrives Priority: 3
## 25.6495: non_admit20: Patient Movement to BAS via GA
## 25.9481: non_admit0: Patient Movement to BSMC via GA
## 25.9481: non_admit1: Patient Movement to BSMC via GA
## 26.8709: co_admit21: Admission Arrives Priority: 4
## 26.8709: co_admit21: Patient Movement to BAS via GA
## 26.8709: non_admit21: Non-Admission Arrives Priority: 4
## 26.8709: non_admit21: Patient Movement to BAS via GA
## 28.0923: co_admit22: Admission Arrives Priority: 4
## 28.0923: co_admit22: Patient Movement to BAS via GA
## 28.0923: non_admit22: Non-Admission Arrives Priority: 4
## 28.0923: non_admit22: Patient Movement to BAS via GA
## 28.8478: bn_ga1: Patient Movement to BSMC via GA
## 29.0502: bn_ga6: Battalion GA Used
## 29.3137: co_admit23: Admission Arrives Priority: 1
## 29.3137: co_admit23: Patient Movement to BAS via GA
## 29.3137: non_admit23: Non-Admission Arrives Priority: 1
## 29.3137: non_admit23: Patient Movement to BAS via GA
## 29.3725: bn_ga5: Patient Movement to BSMC via GA
## 29.5185: bn_ga7: Battalion GA Used
## 29.6495: non_admit0: MD/PA Used
## 29.6495: non_admit1: MD/PA Used
## 29.6495: non_admit0: Patient Departing BAS for FRST/BSMC
## 29.6495: non_admit1: Patient Departing BAS for FRST/BSMC
## 29.6724: batch3: Company GA Seized
## 29.6847: bn_ga0: Patient Movement to BSMC via GA
## 29.8466: co_admit0: Patient Movement to FRST via AA
## 29.8516: bn_ga8: Battalion GA Used
## 30.5351: co_admit24: Admission Arrives Priority: 4
## 30.5351: co_admit24: Patient Movement to BAS via GA
## 30.5351: non_admit24: Non-Admission Arrives Priority: 3
## 30.5351: non_admit24: Patient Movement to BAS via GA
## 31.2307: bn_ga8: Patient Movement to BSMC via GA
## 31.2346: bn_ga9: Battalion GA Used
## 31.7565: co_admit25: Admission Arrives Priority: 3
## 31.7565: co_admit25: Patient Movement to BAS via GA
## 31.7565: non_admit25: Non-Admission Arrives Priority: 4
## 31.7565: non_admit25: Patient Movement to BAS via GA
## 32.9779: co_admit26: Admission Arrives Priority: 1
## 32.9779: co_admit26: Patient Movement to BAS via GA
## 32.9779: non_admit26: Non-Admission Arrives Priority: 3
## 32.9779: non_admit26: Patient Movement to BAS via GA
## 34.1993: co_admit27: Admission Arrives Priority: 4
## 34.1993: co_admit27: Patient Movement to BAS via GA
## 34.1993: non_admit27: Non-Admission Arrives Priority: 4
## 34.1993: non_admit27: Patient Movement to BAS via GA
## 34.207: bn_ga6: Patient Movement to BSMC via GA
## 34.2239: bn_ga10: Battalion GA Used
## 34.2427: bn_ga7: Patient Movement to BSMC via GA
## 34.2602: bn_ga11: Battalion GA Used
## 34.8466: batch38: XXXAA seized
## 34.8466: batch44: XXXAA seized
## 34.8466: batch45: XXXAA seized
## 34.8466: batch46: XXXAA seized
## 34.8466: batch47: XXXAA seized
## 34.8466: batch48: XXXAA seized
## 34.8466: batch49: XXXAA seized
## 34.8466: batch50: XXXAA seized
## 34.8466: batch51: XXXAA seized
## 34.8466: batch52: XXXAA seized
## 34.8466: batch53: XXXAA seized
## 34.8466: batch54: XXXAA seized
## 34.8466: batch55: XXXAA seized
## 34.8466: batch56: XXXAA seized
## 34.8466: batch57: XXXAA seized
## 34.905: batch58: XXXAA seized
## 35.4207: co_admit28: Admission Arrives Priority: 3
## 35.4207: co_admit28: Patient Movement to BAS via GA
## 35.4207: non_admit28: Non-Admission Arrives Priority: 4
## 35.4207: non_admit28: Patient Movement to BAS via GA
## 35.6836: bn_ga4: Patient Movement to BSMC via GA
## 35.7925: bn_ga9: Patient Movement to BSMC via GA
## 35.8313: bn_ga12: Battalion GA Used
## 36.0647: bn_ga13: Battalion GA Used
## 36.6421: co_admit29: Admission Arrives Priority: 3
## 36.6421: co_admit29: Patient Movement to BAS via GA
## 36.6421: non_admit29: Non-Admission Arrives Priority: 4
## 36.6421: non_admit29: Patient Movement to BAS via GA
## 37.4709: bn_ga13: Patient Movement to BSMC via GA
## 37.5185: bn_ga14: Battalion GA Used
## 37.6835: bn_ga11: Patient Movement to BSMC via GA
## 37.7161: bn_ga15: Battalion GA Used
## 37.8635: co_admit30: Admission Arrives Priority: 4
## 37.8635: co_admit30: Patient Movement to BAS via GA
## 37.8635: non_admit30: Non-Admission Arrives Priority: 4
## 37.8635: non_admit30: Patient Movement to BAS via GA
## 37.9778: bn_ga12: Patient Movement to BSMC via GA
## 37.9869: bn_ga16: Battalion GA Used
## 39.0849: co_admit31: Admission Arrives Priority: 3
## 39.0849: co_admit31: Patient Movement to BAS via GA
## 39.0849: non_admit31: Non-Admission Arrives Priority: 4
## 39.0849: non_admit31: Patient Movement to BAS via GA
## 40.3063: co_admit32: Admission Arrives Priority: 1
## 40.3063: co_admit32: Patient Movement to BAS via GA
## 40.3063: non_admit32: Non-Admission Arrives Priority: 1
## 40.3063: non_admit32: Patient Movement to BAS via GA
## 40.6392: bn_ga16: Patient Movement to BSMC via GA
## 40.6485: bn_ga17: Battalion GA Used
## 41.1483: co_ga3: Seize Co GA: 41.1482845192542
## 41.1922: bn_ga10: Patient Movement to BSMC via GA
## 41.213: bn_ga18: Battalion GA Used
## 41.5277: co_admit33: Admission Arrives Priority: 4
## 41.5277: co_admit33: Patient Movement to BAS via GA
## 41.5277: non_admit33: Non-Admission Arrives Priority: 4
## 41.5277: non_admit33: Patient Movement to BAS via GA
## 41.5553: bn_ga15: Patient Movement to BSMC via GA
## 41.6095: bn_ga19: Battalion GA Used
## 42.7491: co_admit34: Admission Arrives Priority: 3
## 42.7491: co_admit34: Patient Movement to BAS via GA
## 42.7491: non_admit34: Non-Admission Arrives Priority: 4
## 42.7491: non_admit34: Patient Movement to BAS via GA
## 43.6078: co_ga4: Seize Co GA: 43.6077797915072
## 43.9705: co_admit35: Admission Arrives Priority: 4
## 43.9705: co_admit35: Patient Movement to BAS via GA
## 43.9705: non_admit35: Non-Admission Arrives Priority: 4
## 43.9705: non_admit35: Patient Movement to BAS via GA
## 44.9616: bn_ga17: Patient Movement to BSMC via GA
## 44.9702: bn_ga20: Battalion GA Used
## 45.1919: co_admit36: Admission Arrives Priority: 3
## 45.1919: co_admit36: Patient Movement to BAS via GA
## 45.1919: non_admit36: Non-Admission Arrives Priority: 3
## 45.1919: non_admit36: Patient Movement to BAS via GA
## 45.2687: non_admit2: Combat Medic Used
## 45.2687: non_admit3: Combat Medic Used
## 46.4133: co_admit37: Admission Arrives Priority: 4
## 46.4133: co_admit37: Patient Movement to BAS via GA
## 46.4133: non_admit37: Non-Admission Arrives Priority: 4
## 46.4133: non_admit37: Patient Movement to BAS via GA
## 47.5034: bn_ga14: Patient Movement to BSMC via GA
## 47.5715: bn_ga20: Patient Movement to BSMC via GA
## 47.5929: bn_ga21: Battalion GA Used
## 47.6051: bn_ga22: Battalion GA Used
## 47.6347: co_admit38: Admission Arrives Priority: 2
## 47.6347: co_admit38: Patient Movement to BAS via GA
## 47.6347: non_admit38: Non-Admission Arrives Priority: 4
## 47.6347: non_admit38: Patient Movement to BAS via GA
## 47.7282: co_admit2: Combat Medic Used
## 47.7282: co_admit3: Combat Medic Used
## 48.6195: bn_ga21: Patient Movement to BSMC via GA
## 48.8561: co_admit39: Admission Arrives Priority: 2
## 48.8561: co_admit39: Patient Movement to BAS via GA
## 48.8561: non_admit39: Non-Admission Arrives Priority: 4
## 48.8561: non_admit39: Patient Movement to BAS via GA
## 48.9584: bn_ga23: Battalion GA Used
## 49.7026: bn_ga23: Patient Movement to BSMC via GA
## 49.9164: bn_ga19: Patient Movement to BSMC via GA
## 49.9195: bn_ga24: Battalion GA Used
## 50.0775: co_admit40: Admission Arrives Priority: 3
## 50.0775: co_admit40: Patient Movement to BAS via GA
## 50.0775: non_admit40: Non-Admission Arrives Priority: 4
## 50.0775: non_admit40: Patient Movement to BAS via GA
## 51.2989: co_admit41: Admission Arrives Priority: 2
## 51.2989: co_admit41: Patient Movement to BAS via GA
## 51.2989: non_admit41: Non-Admission Arrives Priority: 3
## 51.2989: non_admit41: Patient Movement to BAS via GA
## 51.4564: bn_ga22: Patient Movement to BSMC via GA
## 51.6979: bn_ga25: Battalion GA Used
## 52.5203: co_admit42: Admission Arrives Priority: 1
## 52.5203: co_admit42: Patient Movement to BAS via GA
## 52.5203: non_admit42: Non-Admission Arrives Priority: 3
## 52.5203: non_admit42: Patient Movement to BAS via GA
## 52.9041: co_admit1: Patient Movement to BSMC via GA
## 53.7417: co_admit43: Admission Arrives Priority: 3
## 53.7417: co_admit43: Patient Movement to BAS via GA
## 53.7417: non_admit43: Non-Admission Arrives Priority: 4
## 53.7417: non_admit43: Patient Movement to BAS via GA
## 54.1544: co_ga5: Seize Co GA: 54.1543812053298
## 54.9631: co_admit44: Admission Arrives Priority: 4
## 54.9631: co_admit44: Patient Movement to BAS via GA
## 54.9631: non_admit44: Non-Admission Arrives Priority: 4
## 54.9631: non_admit44: Patient Movement to BAS via GA
## 55.5216: batch4: Company GA Seized
## 56.1845: co_admit45: Admission Arrives Priority: 1
## 56.1845: co_admit45: Patient Movement to BAS via GA
## 56.1845: non_admit45: Non-Admission Arrives Priority: 1
## 56.1845: non_admit45: Patient Movement to BAS via GA
## 56.532: batch5: Company GA Seized
## 56.6055: co_admit1: MD/PA Used
## 56.6055: co_admit1: Patient Departing BAS for FRST/BSMC
## 57.4059: co_admit46: Admission Arrives Priority: 3
## 57.4059: co_admit46: Patient Movement to BAS via GA
## 57.4059: non_admit46: Non-Admission Arrives Priority: 3
## 57.4059: non_admit46: Patient Movement to BAS via GA
## 57.8994: bn_ga18: Patient Movement to BSMC via GA
## 58.2113: bn_ga24: Patient Movement to BSMC via GA
## 58.6273: co_admit47: Admission Arrives Priority: 1
## 58.6273: co_admit47: Patient Movement to BAS via GA
## 58.6273: non_admit47: Non-Admission Arrives Priority: 4
## 58.6273: non_admit47: Patient Movement to BAS via GA
## 59.8487: co_admit48: Admission Arrives Priority: 2
## 59.8487: co_admit48: Patient Movement to BAS via GA
## 59.8487: non_admit48: Non-Admission Arrives Priority: 3
## 59.8487: non_admit48: Patient Movement to BAS via GA
## 60.8113: bn_ga25: Patient Movement to BSMC via GA
## 61.0491: bn_ga26: Battalion GA Used
## 61.0701: co_admit49: Admission Arrives Priority: 4
## 61.0701: co_admit49: Patient Movement to BAS via GA
## 61.0701: non_admit49: Non-Admission Arrives Priority: 4
## 61.0701: non_admit49: Patient Movement to BAS via GA
## 61.0859: co_ga6: Seize Co GA: 61.0859438898083
## 62.2608: non_admit3: Patient Movement to BSMC via GA
## 62.2915: co_admit50: Admission Arrives Priority: 2
## 62.2915: co_admit50: Patient Movement to BAS via GA
## 62.2915: non_admit50: Non-Admission Arrives Priority: 1
## 62.2915: non_admit50: Patient Movement to BAS via GA
## 63.5129: co_admit51: Admission Arrives Priority: 3
## 63.5129: co_admit51: Patient Movement to BAS via GA
## 63.5129: non_admit51: Non-Admission Arrives Priority: 4
## 63.5129: non_admit51: Patient Movement to BAS via GA
## 63.891: non_admit2: Patient Movement to BSMC via GA
## 64.7343: co_admit52: Admission Arrives Priority: 2
## 64.7343: co_admit52: Patient Movement to BAS via GA
## 64.7343: non_admit52: Non-Admission Arrives Priority: 3
## 64.7343: non_admit52: Patient Movement to BAS via GA
## 65.2064: non_admit4: Combat Medic Used
## 65.2064: non_admit5: Combat Medic Used
## 65.9557: co_admit53: Admission Arrives Priority: 1
## 65.9557: co_admit53: Patient Movement to BAS via GA
## 65.9557: non_admit53: Non-Admission Arrives Priority: 3
## 65.9557: non_admit53: Patient Movement to BAS via GA
## 65.9622: non_admit3: MD/PA Used
## 65.9622: non_admit3: Patient Departing BAS for FRST/BSMC
## 67.1772: co_admit54: Admission Arrives Priority: 3
## 67.1772: co_admit54: Patient Movement to BAS via GA
## 67.1772: non_admit54: Non-Admission Arrives Priority: 1
## 67.1772: non_admit54: Patient Movement to BAS via GA
## 67.5924: non_admit2: MD/PA Used
## 67.5924: non_admit2: Patient Departing BAS for FRST/BSMC
## 68.3986: co_admit55: Admission Arrives Priority: 3
## 68.3986: co_admit55: Patient Movement to BAS via GA
## 68.3986: non_admit55: Non-Admission Arrives Priority: 3
## 68.3986: non_admit55: Patient Movement to BAS via GA
## 69.62: co_admit56: Admission Arrives Priority: 3
## 69.62: co_admit56: Patient Movement to BAS via GA
## 69.62: non_admit56: Non-Admission Arrives Priority: 4
## 69.62: non_admit56: Patient Movement to BAS via GA
## 70.2128: bn_ga26: Patient Movement to BSMC via GA
## 70.2406: bn_ga27: Battalion GA Used
## 70.8414: co_admit57: Admission Arrives Priority: 4
## 70.8414: co_admit57: Patient Movement to BAS via GA
## 70.8414: non_admit57: Non-Admission Arrives Priority: 4
## 70.8414: non_admit57: Patient Movement to BAS via GA
## 72.0628: co_admit58: Admission Arrives Priority: 2
## 72.0628: co_admit58: Patient Movement to BAS via GA
## 72.0628: non_admit58: Non-Admission Arrives Priority: 4
## 72.0628: non_admit58: Patient Movement to BAS via GA
## 73.2842: co_admit59: Admission Arrives Priority: 1
## 73.2842: co_admit59: Patient Movement to BAS via GA
## 73.2842: non_admit59: Non-Admission Arrives Priority: 4
## 73.2842: non_admit59: Patient Movement to BAS via GA
## 74.5056: co_admit60: Admission Arrives Priority: 4
## 74.5056: co_admit60: Patient Movement to BAS via GA
## 74.5056: non_admit60: Non-Admission Arrives Priority: 4
## 74.5056: non_admit60: Patient Movement to BAS via GA
## 75.727: co_admit61: Admission Arrives Priority: 3
## 75.727: co_admit61: Patient Movement to BAS via GA
## 75.727: non_admit61: Non-Admission Arrives Priority: 4
## 75.727: non_admit61: Patient Movement to BAS via GA
## 76.1569: bn_ga27: Patient Movement to BSMC via GA
## 76.2356: bn_ga28: Battalion GA Used
## 76.9484: co_admit62: Admission Arrives Priority: 3
## 76.9484: co_admit62: Patient Movement to BAS via GA
## 76.9484: non_admit62: Non-Admission Arrives Priority: 4
## 76.9484: non_admit62: Patient Movement to BAS via GA
## 77.88: co_ga7: Seize Co GA: 77.8799609574462
## 78.1698: co_admit63: Admission Arrives Priority: 4
## 78.1698: co_admit63: Patient Movement to BAS via GA
## 78.1698: non_admit63: Non-Admission Arrives Priority: 4
## 78.1698: non_admit63: Patient Movement to BAS via GA
## 78.5727: bn_ga28: Patient Movement to BSMC via GA
## 78.5815: bn_ga29: Battalion GA Used
## 79.3912: co_admit64: Admission Arrives Priority: 2
## 79.3912: co_admit64: Patient Movement to BAS via GA
## 79.3912: non_admit64: Non-Admission Arrives Priority: 4
## 79.3912: non_admit64: Patient Movement to BAS via GA
## 80.6126: co_admit65: Admission Arrives Priority: 3
## 80.6126: co_admit65: Patient Movement to BAS via GA
## 80.6126: non_admit65: Non-Admission Arrives Priority: 4
## 80.6126: non_admit65: Patient Movement to BAS via GA
## 81.8141: bn_ga29: Patient Movement to BSMC via GA
## 81.834: co_admit66: Admission Arrives Priority: 3
## 81.834: co_admit66: Patient Movement to BAS via GA
## 81.834: non_admit66: Non-Admission Arrives Priority: 4
## 81.834: non_admit66: Patient Movement to BAS via GA
## 81.9454: bn_ga30: Battalion GA Used
## 82.2255: batch6: Company GA Seized
## 83.0554: co_admit67: Admission Arrives Priority: 1
## 83.0554: co_admit67: Patient Movement to BAS via GA
## 83.0554: non_admit67: Non-Admission Arrives Priority: 3
## 83.0554: non_admit67: Patient Movement to BAS via GA
## 84.2768: co_admit68: Admission Arrives Priority: 3
## 84.2768: co_admit68: Patient Movement to BAS via GA
## 84.2768: non_admit68: Non-Admission Arrives Priority: 4
## 84.2768: non_admit68: Patient Movement to BAS via GA
## 85.4982: co_admit69: Admission Arrives Priority: 3
## 85.4982: co_admit69: Patient Movement to BAS via GA
## 85.4982: non_admit69: Non-Admission Arrives Priority: 4
## 85.4982: non_admit69: Patient Movement to BAS via GA
## 86.3459: co_admit4: Combat Medic Used
## 86.3459: co_admit5: Combat Medic Used
## 86.5324: batch7: Company GA Seized
## 86.7196: co_admit70: Admission Arrives Priority: 1
## 86.7196: co_admit70: Patient Movement to BAS via GA
## 86.7196: non_admit70: Non-Admission Arrives Priority: 4
## 86.7196: non_admit70: Patient Movement to BAS via GA
## 87.941: co_admit71: Admission Arrives Priority: 3
## 87.941: co_admit71: Patient Movement to BAS via GA
## 87.941: non_admit71: Non-Admission Arrives Priority: 4
## 87.941: non_admit71: Patient Movement to BAS via GA
## 89.1624: co_admit72: Admission Arrives Priority: 4
## 89.1624: co_admit72: Patient Movement to BAS via GA
## 89.1624: non_admit72: Non-Admission Arrives Priority: 4
## 89.1624: non_admit72: Patient Movement to BAS via GA
## 89.6737: bn_ga30: Patient Movement to BSMC via GA
## 89.7664: bn_ga31: Battalion GA Used
## 90.0325: co_ga8: Seize Co GA: 90.0325283336945
## 90.3838: co_admit73: Admission Arrives Priority: 3
## 90.3838: co_admit73: Patient Movement to BAS via GA
## 90.3838: non_admit73: Non-Admission Arrives Priority: 4
## 90.3838: non_admit73: Patient Movement to BAS via GA
## 90.6528: co_admit6: Combat Medic Used
## 90.6528: co_admit7: Combat Medic Used
## 91.6052: co_admit74: Admission Arrives Priority: 3
## 91.6052: co_admit74: Patient Movement to BAS via GA
## 91.6052: non_admit74: Non-Admission Arrives Priority: 4
## 91.6052: non_admit74: Patient Movement to BAS via GA
## 92.2138: bn_ga31: Patient Movement to BSMC via GA
## 92.2501: bn_ga32: Battalion GA Used
## 92.8266: co_admit75: Admission Arrives Priority: 1
## 92.8266: co_admit75: Patient Movement to BAS via GA
## 92.8266: non_admit75: Non-Admission Arrives Priority: 3
## 92.8266: non_admit75: Patient Movement to BAS via GA
## 93.329: co_admit5: Patient Movement to FRST via AA
## 93.329: co_admit6: Patient Movement to FRST via AA
## 94.048: co_admit76: Admission Arrives Priority: 2
## 94.048: co_admit76: Patient Movement to BAS via GA
## 94.048: non_admit76: Non-Admission Arrives Priority: 3
## 94.048: non_admit76: Patient Movement to BAS via GA
## 94.6508: batch8: Company GA Seized
## 95.2694: co_admit77: Admission Arrives Priority: 3
## 95.2694: co_admit77: Patient Movement to BAS via GA
## 95.2694: non_admit77: Non-Admission Arrives Priority: 4
## 95.2694: non_admit77: Patient Movement to BAS via GA
## 95.8785: batch9: Company GA Seized
## 96.4908: co_admit78: Admission Arrives Priority: 1
## 96.4908: co_admit78: Patient Movement to BAS via GA
## 96.4908: non_admit78: Non-Admission Arrives Priority: 4
## 96.4908: non_admit78: Patient Movement to BAS via GA
## 97.1451: co_ga9: Seize Co GA: 97.1451224382662
## 97.7122: co_admit79: Admission Arrives Priority: 3
## 97.7122: co_admit79: Patient Movement to BAS via GA
## 97.7122: non_admit79: Non-Admission Arrives Priority: 4
## 97.7122: non_admit79: Patient Movement to BAS via GA
## 98.0371: bn_ga32: Patient Movement to BSMC via GA
## 98.1354: bn_ga33: Battalion GA Used
## 98.7712: non_admit6: Combat Medic Used
## 98.7712: non_admit7: Combat Medic Used
## 98.9336: co_admit80: Admission Arrives Priority: 3
## 98.9336: co_admit80: Patient Movement to BAS via GA
## 98.9336: non_admit80: Non-Admission Arrives Priority: 4
## 98.9336: non_admit80: Patient Movement to BAS via GA
## 99.999: co_admit8: Combat Medic Used
## 99.999: co_admit9: Combat Medic Used
## 100.155: co_admit81: Admission Arrives Priority: 2
## 100.155: co_admit81: Patient Movement to BAS via GA
## 100.155: non_admit81: Non-Admission Arrives Priority: 3
## 100.155: non_admit81: Patient Movement to BAS via GA
## 101.376: co_admit82: Admission Arrives Priority: 1
## 101.376: co_admit82: Patient Movement to BAS via GA
## 101.376: non_admit82: Non-Admission Arrives Priority: 3
## 101.376: non_admit82: Patient Movement to BAS via GA
## 101.951: co_ga10: Seize Co GA: 101.951018771885
## 102.01: bn_ga33: Patient Movement to BSMC via GA
## 102.022: bn_ga34: Battalion GA Used
## 102.598: co_admit83: Admission Arrives Priority: 3
## 102.598: co_admit83: Patient Movement to BAS via GA
## 102.598: non_admit83: Non-Admission Arrives Priority: 4
## 102.598: non_admit83: Patient Movement to BAS via GA
## 103.66: bn_ga34: Patient Movement to BSMC via GA
## 103.663: bn_ga35: Battalion GA Used
## 103.819: co_admit84: Admission Arrives Priority: 3
## 103.819: co_admit84: Patient Movement to BAS via GA
## 103.819: non_admit84: Non-Admission Arrives Priority: 4
## 103.819: non_admit84: Patient Movement to BAS via GA
## 104.577: bn_ga35: Patient Movement to BSMC via GA
## 104.859: bn_ga36: Battalion GA Used
## 105.041: co_admit85: Admission Arrives Priority: 1
## 105.041: co_admit85: Patient Movement to BAS via GA
## 105.041: non_admit85: Non-Admission Arrives Priority: 4
## 105.041: non_admit85: Patient Movement to BAS via GA
## 105.418: co_ga11: Seize Co GA: 105.418026030716
## 105.581: co_ga12: Seize Co GA: 105.58057057342
## 106.262: co_admit86: Admission Arrives Priority: 3
## 106.262: co_admit86: Patient Movement to BAS via GA
## 106.262: non_admit86: Non-Admission Arrives Priority: 3
## 106.262: non_admit86: Patient Movement to BAS via GA
## 106.683: co_admit8: Patient Movement to FRST via AA
## 107.225: bn_ga36: Patient Movement to BSMC via GA
## 107.422: bn_ga37: Battalion GA Used
## 107.483: co_admit87: Admission Arrives Priority: 3
## 107.483: co_admit87: Patient Movement to BAS via GA
## 107.483: non_admit87: Non-Admission Arrives Priority: 4
## 107.483: non_admit87: Patient Movement to BAS via GA
## 108.366: batch10: Company GA Seized
## 108.705: co_admit88: Admission Arrives Priority: 1
## 108.705: co_admit88: Patient Movement to BAS via GA
## 108.705: non_admit88: Non-Admission Arrives Priority: 4
## 108.705: non_admit88: Patient Movement to BAS via GA
## 109.701: non_admit8: Combat Medic Used
## 109.701: non_admit9: Combat Medic Used
## 109.926: co_admit89: Admission Arrives Priority: 3
## 109.926: co_admit89: Patient Movement to BAS via GA
## 109.926: non_admit89: Non-Admission Arrives Priority: 4
## 109.926: non_admit89: Patient Movement to BAS via GA
## 110.455: bn_ga37: Patient Movement to BSMC via GA
## 110.507: bn_ga38: Battalion GA Used
## 111.148: co_admit90: Admission Arrives Priority: 4
## 111.148: co_admit90: Patient Movement to BAS via GA
## 111.148: non_admit90: Non-Admission Arrives Priority: 4
## 111.148: non_admit90: Patient Movement to BAS via GA
## 112.369: co_admit91: Admission Arrives Priority: 3
## 112.369: co_admit91: Patient Movement to BAS via GA
## 112.369: non_admit91: Non-Admission Arrives Priority: 4
## 112.369: non_admit91: Patient Movement to BAS via GA
## 113.234: batch11: Company GA Seized
## 113.59: co_admit92: Admission Arrives Priority: 3
## 113.59: co_admit92: Patient Movement to BAS via GA
## 113.59: non_admit92: Non-Admission Arrives Priority: 4
## 113.59: non_admit92: Patient Movement to BAS via GA
## 114.439: bn_ga38: Patient Movement to BSMC via GA
## 114.603: bn_ga39: Battalion GA Used
## 114.812: co_admit93: Admission Arrives Priority: 4
## 114.812: co_admit93: Patient Movement to BAS via GA
## 114.812: non_admit93: Non-Admission Arrives Priority: 4
## 114.812: non_admit93: Patient Movement to BAS via GA
## 116.033: co_admit94: Admission Arrives Priority: 4
## 116.033: co_admit94: Patient Movement to BAS via GA
## 116.033: non_admit94: Non-Admission Arrives Priority: 4
## 116.033: non_admit94: Patient Movement to BAS via GA
## 117.255: co_admit95: Admission Arrives Priority: 4
## 117.255: co_admit95: Patient Movement to BAS via GA
## 117.255: non_admit95: Non-Admission Arrives Priority: 4
## 117.255: non_admit95: Patient Movement to BAS via GA
## 117.441: bn_ga39: Patient Movement to BSMC via GA
## 117.677: bn_ga40: Battalion GA Used
## 118.476: co_admit96: Admission Arrives Priority: 1
## 118.476: co_admit96: Patient Movement to BAS via GA
## 118.476: non_admit96: Non-Admission Arrives Priority: 4
## 118.476: non_admit96: Patient Movement to BAS via GA
## 119.697: co_admit97: Admission Arrives Priority: 4
## 119.697: co_admit97: Patient Movement to BAS via GA
## 119.697: non_admit97: Non-Admission Arrives Priority: 3
## 119.697: non_admit97: Patient Movement to BAS via GA
## 119.82: co_ga13: Seize Co GA: 119.819991324981
## 120.919: co_admit98: Admission Arrives Priority: 4
## 120.919: co_admit98: Patient Movement to BAS via GA
## 120.919: non_admit98: Non-Admission Arrives Priority: 3
## 120.919: non_admit98: Patient Movement to BAS via GA
## 122.14: co_admit99: Admission Arrives Priority: 3
## 122.14: co_admit99: Patient Movement to BAS via GA
## 122.14: non_admit99: Non-Admission Arrives Priority: 4
## 122.14: non_admit99: Patient Movement to BAS via GA
## 123.362: co_admit100: Admission Arrives Priority: 3
## 123.362: co_admit100: Patient Movement to BAS via GA
## 123.362: non_admit100: Non-Admission Arrives Priority: 1
## 123.362: non_admit100: Patient Movement to BAS via GA
## 123.94: co_admit10: Combat Medic Used
## 123.94: co_admit11: Combat Medic Used
## 124.429: co_ga14: Seize Co GA: 124.42902330342
## 124.583: co_admit101: Admission Arrives Priority: 4
## 124.583: co_admit101: Patient Movement to BAS via GA
## 124.583: non_admit101: Non-Admission Arrives Priority: 4
## 124.583: non_admit101: Patient Movement to BAS via GA
## 124.981: co_ga15: Seize Co GA: 124.981006816182
## 125.804: co_admit102: Admission Arrives Priority: 1
## 125.804: co_admit102: Patient Movement to BAS via GA
## 125.804: non_admit102: Non-Admission Arrives Priority: 3
## 125.804: non_admit102: Patient Movement to BAS via GA
## 126.865: co_ga16: Seize Co GA: 126.865198337287
## 127.026: co_admit103: Admission Arrives Priority: 3
## 127.026: co_admit103: Patient Movement to BAS via GA
## 127.026: non_admit103: Non-Admission Arrives Priority: 4
## 127.026: non_admit103: Patient Movement to BAS via GA
## 127.263: bn_ga40: Patient Movement to BSMC via GA
## 127.59: bn_ga41: Battalion GA Used
## 128.247: co_admit104: Admission Arrives Priority: 4
## 128.247: co_admit104: Patient Movement to BAS via GA
## 128.247: non_admit104: Non-Admission Arrives Priority: 4
## 128.247: non_admit104: Patient Movement to BAS via GA
## 128.549: non_admit10: Combat Medic Used
## 128.549: non_admit11: Combat Medic Used
## 128.638: co_ga17: Seize Co GA: 128.637861338423
## 129.469: co_admit105: Admission Arrives Priority: 3
## 129.469: co_admit105: Patient Movement to BAS via GA
## 129.469: non_admit105: Non-Admission Arrives Priority: 4
## 129.469: non_admit105: Patient Movement to BAS via GA
## 130.69: co_admit106: Admission Arrives Priority: 1
## 130.69: co_admit106: Patient Movement to BAS via GA
## 130.69: non_admit106: Non-Admission Arrives Priority: 4
## 130.69: non_admit106: Patient Movement to BAS via GA
## 131.911: co_admit107: Admission Arrives Priority: 4
## 131.911: co_admit107: Patient Movement to BAS via GA
## 131.911: non_admit107: Non-Admission Arrives Priority: 4
## 131.911: non_admit107: Patient Movement to BAS via GA
## 133.083: batch15: Company GA Seized
## 133.133: co_admit108: Admission Arrives Priority: 3
## 133.133: co_admit108: Patient Movement to BAS via GA
## 133.133: non_admit108: Non-Admission Arrives Priority: 3
## 133.133: non_admit108: Patient Movement to BAS via GA
## 134.354: co_admit109: Admission Arrives Priority: 2
## 134.354: co_admit109: Patient Movement to BAS via GA
## 134.354: non_admit109: Non-Admission Arrives Priority: 3
## 134.354: non_admit109: Patient Movement to BAS via GA
## 135.576: co_admit110: Admission Arrives Priority: 1
## 135.576: co_admit110: Patient Movement to BAS via GA
## 135.576: non_admit110: Non-Admission Arrives Priority: 3
## 135.576: non_admit110: Patient Movement to BAS via GA
## 135.865: batch16: Company GA Seized
## 135.971: bn_ga41: Patient Movement to BSMC via GA
## 135.999: bn_ga42: Battalion GA Used
## 136.797: co_admit111: Admission Arrives Priority: 4
## 136.797: co_admit111: Patient Movement to BAS via GA
## 136.797: non_admit111: Non-Admission Arrives Priority: 4
## 136.797: non_admit111: Patient Movement to BAS via GA
## 138.019: co_admit112: Admission Arrives Priority: 2
## 138.019: co_admit112: Patient Movement to BAS via GA
## 138.019: non_admit112: Non-Admission Arrives Priority: 4
## 138.019: non_admit112: Patient Movement to BAS via GA
## 138.468: bn_ga42: Patient Movement to BSMC via GA
## 138.578: bn_ga43: Battalion GA Used
## 139.24: co_admit113: Admission Arrives Priority: 4
## 139.24: co_admit113: Patient Movement to BAS via GA
## 139.24: non_admit113: Non-Admission Arrives Priority: 4
## 139.24: non_admit113: Patient Movement to BAS via GA
## 140.461: co_admit114: Admission Arrives Priority: 4
## 140.461: co_admit114: Patient Movement to BAS via GA
## 140.461: non_admit114: Non-Admission Arrives Priority: 4
## 140.461: non_admit114: Patient Movement to BAS via GA
## 141.275: co_ga18: Seize Co GA: 141.275088407491
## 141.683: co_admit115: Admission Arrives Priority: 1
## 141.683: co_admit115: Patient Movement to BAS via GA
## 141.683: non_admit115: Non-Admission Arrives Priority: 4
## 141.683: non_admit115: Patient Movement to BAS via GA
## 142.904: co_admit116: Admission Arrives Priority: 4
## 142.904: co_admit116: Patient Movement to BAS via GA
## 142.904: non_admit116: Non-Admission Arrives Priority: 4
## 142.904: non_admit116: Patient Movement to BAS via GA
## 143.849: bn_ga43: Patient Movement to BSMC via GA
## 143.999: bn_ga44: Battalion GA Used
## 144.126: co_admit117: Admission Arrives Priority: 2
## 144.126: co_admit117: Patient Movement to BAS via GA
## 144.126: non_admit117: Non-Admission Arrives Priority: 4
## 144.126: non_admit117: Patient Movement to BAS via GA
## 145.347: co_admit118: Admission Arrives Priority: 2
## 145.347: co_admit118: Patient Movement to BAS via GA
## 145.347: non_admit118: Non-Admission Arrives Priority: 4
## 145.347: non_admit118: Patient Movement to BAS via GA
## 145.395: non_admit12: Combat Medic Used
## 145.395: non_admit13: Combat Medic Used
## 146.184: co_ga19: Seize Co GA: 146.184079832989
## 146.495: batch17: Company GA Seized
## 146.568: co_admit119: Admission Arrives Priority: 4
## 146.568: co_admit119: Patient Movement to BAS via GA
## 146.568: non_admit119: Non-Admission Arrives Priority: 4
## 146.568: non_admit119: Patient Movement to BAS via GA
## 147.79: co_admit120: Admission Arrives Priority: 2
## 147.79: co_admit120: Patient Movement to BAS via GA
## 147.79: non_admit120: Non-Admission Arrives Priority: 4
## 147.79: non_admit120: Patient Movement to BAS via GA
## 148.228: bn_ga44: Patient Movement to BSMC via GA
## 148.248: bn_ga45: Battalion GA Used
## 149.011: co_admit121: Admission Arrives Priority: 3
## 149.011: co_admit121: Patient Movement to BAS via GA
## 149.011: non_admit121: Non-Admission Arrives Priority: 4
## 149.011: non_admit121: Patient Movement to BAS via GA
## 149.933: bn_ga45: Patient Movement to BSMC via GA
## 150.119: bn_ga46: Battalion GA Used
## 150.233: co_admit122: Admission Arrives Priority: 3
## 150.233: co_admit122: Patient Movement to BAS via GA
## 150.233: non_admit122: Non-Admission Arrives Priority: 4
## 150.233: non_admit122: Patient Movement to BAS via GA
## 150.277: batch18: Company GA Seized
## 150.615: co_admit12: Combat Medic Used
## 150.615: co_admit13: Combat Medic Used
## 151.454: co_admit123: Admission Arrives Priority: 3
## 151.454: co_admit123: Patient Movement to BAS via GA
## 151.454: non_admit123: Non-Admission Arrives Priority: 4
## 151.454: non_admit123: Patient Movement to BAS via GA
## 152.675: co_admit124: Admission Arrives Priority: 3
## 152.675: co_admit124: Patient Movement to BAS via GA
## 152.675: non_admit124: Non-Admission Arrives Priority: 4
## 152.675: non_admit124: Patient Movement to BAS via GA
## 153.897: co_admit125: Admission Arrives Priority: 4
## 153.897: co_admit125: Patient Movement to BAS via GA
## 153.897: non_admit125: Non-Admission Arrives Priority: 3
## 153.897: non_admit125: Patient Movement to BAS via GA
## 154.398: co_admit14: Combat Medic Used
## 154.398: co_admit15: Combat Medic Used
## 154.851: co_ga20: Seize Co GA: 154.851441587013
## 155.118: co_admit126: Admission Arrives Priority: 4
## 155.118: co_admit126: Patient Movement to BAS via GA
## 155.118: non_admit126: Non-Admission Arrives Priority: 4
## 155.118: non_admit126: Patient Movement to BAS via GA
## 155.275: bn_ga46: Patient Movement to BSMC via GA
## 155.33: bn_ga47: Battalion GA Used
## 156.34: co_admit127: Admission Arrives Priority: 1
## 156.34: co_admit127: Patient Movement to BAS via GA
## 156.34: non_admit127: Non-Admission Arrives Priority: 4
## 156.34: non_admit127: Patient Movement to BAS via GA
## 157.561: co_admit128: Admission Arrives Priority: 4
## 157.561: co_admit128: Patient Movement to BAS via GA
## 157.561: non_admit128: Non-Admission Arrives Priority: 4
## 157.561: non_admit128: Patient Movement to BAS via GA
## 158.616: co_admit13: Patient Movement to FRST via AA
## 158.616: co_admit14: Patient Movement to FRST via AA
## 158.782: co_admit129: Admission Arrives Priority: 4
## 158.782: co_admit129: Patient Movement to BAS via GA
## 158.782: non_admit129: Non-Admission Arrives Priority: 3
## 158.782: non_admit129: Patient Movement to BAS via GA
## 160.004: co_admit130: Admission Arrives Priority: 4
## 160.004: co_admit130: Patient Movement to BAS via GA
## 160.004: non_admit130: Non-Admission Arrives Priority: 3
## 160.004: non_admit130: Patient Movement to BAS via GA
## 161.225: co_admit131: Admission Arrives Priority: 3
## 161.225: co_admit131: Patient Movement to BAS via GA
## 161.225: non_admit131: Non-Admission Arrives Priority: 4
## 161.225: non_admit131: Patient Movement to BAS via GA
## 161.477: bn_ga47: Patient Movement to BSMC via GA
## 161.609: bn_ga48: Battalion GA Used
## 162.447: co_admit132: Admission Arrives Priority: 4
## 162.447: co_admit132: Patient Movement to BAS via GA
## 162.447: non_admit132: Non-Admission Arrives Priority: 4
## 162.447: non_admit132: Patient Movement to BAS via GA
## 163.668: co_admit133: Admission Arrives Priority: 3
## 163.668: co_admit133: Patient Movement to BAS via GA
## 163.668: non_admit133: Non-Admission Arrives Priority: 4
## 163.668: non_admit133: Patient Movement to BAS via GA
## 164.889: co_admit134: Admission Arrives Priority: 3
## 164.889: co_admit134: Patient Movement to BAS via GA
## 164.889: non_admit134: Non-Admission Arrives Priority: 4
## 164.889: non_admit134: Patient Movement to BAS via GA
## 166.111: co_admit135: Admission Arrives Priority: 1
## 166.111: co_admit135: Patient Movement to BAS via GA
## 166.111: non_admit135: Non-Admission Arrives Priority: 4
## 166.111: non_admit135: Patient Movement to BAS via GA
## 167.087: co_ga21: Seize Co GA: 167.086597990044
## 167.332: co_admit136: Admission Arrives Priority: 2
## 167.332: co_admit136: Patient Movement to BAS via GA
## 167.332: non_admit136: Non-Admission Arrives Priority: 3
## 167.332: non_admit136: Patient Movement to BAS via GA
## 167.415: bn_ga48: Patient Movement to BSMC via GA
## 167.636: bn_ga49: Battalion GA Used
## 168.554: co_admit137: Admission Arrives Priority: 3
## 168.554: co_admit137: Patient Movement to BAS via GA
## 168.554: non_admit137: Non-Admission Arrives Priority: 4
## 168.554: non_admit137: Patient Movement to BAS via GA
## 169.775: co_admit138: Admission Arrives Priority: 1
## 169.775: co_admit138: Patient Movement to BAS via GA
## 169.775: non_admit138: Non-Admission Arrives Priority: 4
## 169.775: non_admit138: Patient Movement to BAS via GA
## 170.996: co_admit139: Admission Arrives Priority: 4
## 170.996: co_admit139: Patient Movement to BAS via GA
## 170.996: non_admit139: Non-Admission Arrives Priority: 3
## 170.996: non_admit139: Patient Movement to BAS via GA
## 171.083: co_ga22: Seize Co GA: 171.083078112138
## 171.207: non_admit14: Combat Medic Used
## 171.207: non_admit15: Combat Medic Used
## 171.584: batch25: Company GA Seized
## 172.218: co_admit140: Admission Arrives Priority: 2
## 172.218: co_admit140: Patient Movement to BAS via GA
## 172.218: non_admit140: Non-Admission Arrives Priority: 3
## 172.218: non_admit140: Patient Movement to BAS via GA
## 173.439: co_admit141: Admission Arrives Priority: 1
## 173.439: co_admit141: Patient Movement to BAS via GA
## 173.439: non_admit141: Non-Admission Arrives Priority: 3
## 173.439: non_admit141: Patient Movement to BAS via GA
## 173.619: bn_ga49: Patient Movement to BSMC via GA
## 173.707: bn_ga50: Battalion GA Used
## 174.661: co_admit142: Admission Arrives Priority: 3
## 174.661: co_admit142: Patient Movement to BAS via GA
## 174.661: non_admit142: Non-Admission Arrives Priority: 4
## 174.661: non_admit142: Patient Movement to BAS via GA
## 175.882: co_admit143: Admission Arrives Priority: 2
## 175.882: co_admit143: Patient Movement to BAS via GA
## 175.882: non_admit143: Non-Admission Arrives Priority: 4
## 175.882: non_admit143: Patient Movement to BAS via GA
## 177.103: co_admit144: Admission Arrives Priority: 4
## 177.103: co_admit144: Patient Movement to BAS via GA
## 177.103: non_admit144: Non-Admission Arrives Priority: 4
## 177.103: non_admit144: Patient Movement to BAS via GA
## 178.155: bn_ga50: Patient Movement to BSMC via GA
## 178.161: bn_ga51: Battalion GA Used
## 178.325: co_admit145: Admission Arrives Priority: 4
## 178.325: co_admit145: Patient Movement to BAS via GA
## 178.325: non_admit145: Non-Admission Arrives Priority: 4
## 178.325: non_admit145: Patient Movement to BAS via GA
## 179.546: co_admit146: Admission Arrives Priority: 4
## 179.546: co_admit146: Patient Movement to BAS via GA
## 179.546: non_admit146: Non-Admission Arrives Priority: 4
## 179.546: non_admit146: Patient Movement to BAS via GA
## 180.768: co_admit147: Admission Arrives Priority: 3
## 180.768: co_admit147: Patient Movement to BAS via GA
## 180.768: non_admit147: Non-Admission Arrives Priority: 4
## 180.768: non_admit147: Patient Movement to BAS via GA
## 181.989: co_admit148: Admission Arrives Priority: 4
## 181.989: co_admit148: Patient Movement to BAS via GA
## 181.989: non_admit148: Non-Admission Arrives Priority: 4
## 181.989: non_admit148: Patient Movement to BAS via GA
## 183.21: co_admit149: Admission Arrives Priority: 4
## 183.21: co_admit149: Patient Movement to BAS via GA
## 183.21: non_admit149: Non-Admission Arrives Priority: 3
## 183.21: non_admit149: Patient Movement to BAS via GA
## 183.721: bn_ga51: Patient Movement to BSMC via GA
## 183.732: bn_ga52: Battalion GA Used
## 184.432: co_admit150: Admission Arrives Priority: 1
## 184.432: co_admit150: Patient Movement to BAS via GA
## 184.432: non_admit150: Non-Admission Arrives Priority: 4
## 184.432: non_admit150: Patient Movement to BAS via GA
## 184.801: batch26: Company GA Seized
## 185.653: co_admit151: Admission Arrives Priority: 3
## 185.653: co_admit151: Patient Movement to BAS via GA
## 185.653: non_admit151: Non-Admission Arrives Priority: 4
## 185.653: non_admit151: Patient Movement to BAS via GA
## 186.648: co_ga23: Seize Co GA: 186.647808650254
## 186.875: co_admit152: Admission Arrives Priority: 4
## 186.875: co_admit152: Patient Movement to BAS via GA
## 186.875: non_admit152: Non-Admission Arrives Priority: 3
## 186.875: non_admit152: Patient Movement to BAS via GA
## 187.558: bn_ga52: Patient Movement to BSMC via GA
## 187.634: bn_ga53: Battalion GA Used
## 188.096: co_admit153: Admission Arrives Priority: 4
## 188.096: co_admit153: Patient Movement to BAS via GA
## 188.096: non_admit153: Non-Admission Arrives Priority: 4
## 188.096: non_admit153: Patient Movement to BAS via GA
## 188.195: co_ga24: Seize Co GA: 188.194769955075
## 188.922: co_admit16: Combat Medic Used
## 188.922: co_admit17: Combat Medic Used
## 189.317: co_admit154: Admission Arrives Priority: 3
## 189.317: co_admit154: Patient Movement to BAS via GA
## 189.317: non_admit154: Non-Admission Arrives Priority: 3
## 189.317: non_admit154: Patient Movement to BAS via GA
## 190.539: co_admit155: Admission Arrives Priority: 3
## 190.539: co_admit155: Patient Movement to BAS via GA
## 190.539: non_admit155: Non-Admission Arrives Priority: 3
## 190.539: non_admit155: Patient Movement to BAS via GA
## 191.76: co_admit156: Admission Arrives Priority: 2
## 191.76: co_admit156: Patient Movement to BAS via GA
## 191.76: non_admit156: Non-Admission Arrives Priority: 4
## 191.76: non_admit156: Patient Movement to BAS via GA
## 192.315: non_admit16: Combat Medic Used
## 192.315: non_admit17: Combat Medic Used
## 192.982: co_admit157: Admission Arrives Priority: 4
## 192.982: co_admit157: Patient Movement to BAS via GA
## 192.982: non_admit157: Non-Admission Arrives Priority: 4
## 192.982: non_admit157: Patient Movement to BAS via GA
## 193.989: bn_ga53: Patient Movement to BSMC via GA
## 194.203: co_admit158: Admission Arrives Priority: 3
## 194.203: co_admit158: Patient Movement to BAS via GA
## 194.203: non_admit158: Non-Admission Arrives Priority: 3
## 194.203: non_admit158: Patient Movement to BAS via GA
## 194.361: bn_ga54: Battalion GA Used
## 195.424: co_admit159: Admission Arrives Priority: 1
## 195.424: co_admit159: Patient Movement to BAS via GA
## 195.424: non_admit159: Non-Admission Arrives Priority: 3
## 195.424: non_admit159: Patient Movement to BAS via GA
## 196.646: co_admit160: Admission Arrives Priority: 1
## 196.646: co_admit160: Patient Movement to BAS via GA
## 196.646: non_admit160: Non-Admission Arrives Priority: 4
## 196.646: non_admit160: Patient Movement to BAS via GA
## 197.589: co_ga25: Seize Co GA: 197.588777189941
## 197.867: co_admit161: Admission Arrives Priority: 4
## 197.867: co_admit161: Patient Movement to BAS via GA
## 197.867: non_admit161: Non-Admission Arrives Priority: 4
## 197.867: non_admit161: Patient Movement to BAS via GA
## 198.322: bn_ga54: Patient Movement to BSMC via GA
## 198.448: bn_ga55: Battalion GA Used
## 199.089: co_admit162: Admission Arrives Priority: 4
## 199.089: co_admit162: Patient Movement to BAS via GA
## 199.089: non_admit162: Non-Admission Arrives Priority: 3
## 199.089: non_admit162: Patient Movement to BAS via GA
## 200.31: co_admit163: Admission Arrives Priority: 3
## 200.31: co_admit163: Patient Movement to BAS via GA
## 200.31: non_admit163: Non-Admission Arrives Priority: 4
## 200.31: non_admit163: Patient Movement to BAS via GA
## 200.433: bn_ga55: Patient Movement to BSMC via GA
## 200.554: bn_ga56: Battalion GA Used
## 201.531: co_admit164: Admission Arrives Priority: 3
## 201.531: co_admit164: Patient Movement to BAS via GA
## 201.531: non_admit164: Non-Admission Arrives Priority: 4
## 201.531: non_admit164: Patient Movement to BAS via GA
## 202.753: co_admit165: Admission Arrives Priority: 2
## 202.753: co_admit165: Patient Movement to BAS via GA
## 202.753: non_admit165: Non-Admission Arrives Priority: 4
## 202.753: non_admit165: Patient Movement to BAS via GA
## 203.974: co_admit166: Admission Arrives Priority: 3
## 203.974: co_admit166: Patient Movement to BAS via GA
## 203.974: non_admit166: Non-Admission Arrives Priority: 4
## 203.974: non_admit166: Patient Movement to BAS via GA
## 203.982: batch27: Company GA Seized
## 204.782: batch28: Company GA Seized
## 205.196: co_admit167: Admission Arrives Priority: 4
## 205.196: co_admit167: Patient Movement to BAS via GA
## 205.196: non_admit167: Non-Admission Arrives Priority: 4
## 205.196: non_admit167: Patient Movement to BAS via GA
## 205.589: co_ga26: Seize Co GA: 205.589455312606
## 206.376: bn_ga56: Patient Movement to BSMC via GA
## 206.417: co_admit168: Admission Arrives Priority: 3
## 206.417: co_admit168: Patient Movement to BAS via GA
## 206.417: non_admit168: Non-Admission Arrives Priority: 3
## 206.417: non_admit168: Patient Movement to BAS via GA
## 207.638: co_admit169: Admission Arrives Priority: 2
## 207.638: co_admit169: Patient Movement to BAS via GA
## 207.638: non_admit169: Non-Admission Arrives Priority: 3
## 207.638: non_admit169: Patient Movement to BAS via GA
## 208.86: co_admit170: Admission Arrives Priority: 4
## 208.86: co_admit170: Patient Movement to BAS via GA
## 208.86: non_admit170: Non-Admission Arrives Priority: 4
## 208.86: non_admit170: Patient Movement to BAS via GA
## 208.903: co_admit18: Combat Medic Used
## 208.903: co_admit19: Combat Medic Used
## 210.081: co_admit171: Admission Arrives Priority: 1
## 210.081: co_admit171: Patient Movement to BAS via GA
## 210.081: non_admit171: Non-Admission Arrives Priority: 4
## 210.081: non_admit171: Patient Movement to BAS via GA
## 211.303: co_admit172: Admission Arrives Priority: 4
## 211.303: co_admit172: Patient Movement to BAS via GA
## 211.303: non_admit172: Non-Admission Arrives Priority: 4
## 211.303: non_admit172: Patient Movement to BAS via GA
## 212.524: co_admit173: Admission Arrives Priority: 3
## 212.524: co_admit173: Patient Movement to BAS via GA
## 212.524: non_admit173: Non-Admission Arrives Priority: 4
## 212.524: non_admit173: Patient Movement to BAS via GA
## 212.925: co_admit2: Patient Movement to BSMC via GA
## 213.745: co_admit174: Admission Arrives Priority: 3
## 213.745: co_admit174: Patient Movement to BAS via GA
## 213.745: non_admit174: Non-Admission Arrives Priority: 4
## 213.745: non_admit174: Patient Movement to BAS via GA
## 214.967: co_admit175: Admission Arrives Priority: 4
## 214.967: co_admit175: Patient Movement to BAS via GA
## 214.967: non_admit175: Non-Admission Arrives Priority: 4
## 214.967: non_admit175: Patient Movement to BAS via GA
## 216.188: co_admit176: Admission Arrives Priority: 3
## 216.188: co_admit176: Patient Movement to BAS via GA
## 216.188: non_admit176: Non-Admission Arrives Priority: 3
## 216.188: non_admit176: Patient Movement to BAS via GA
## 216.626: co_admit2: MD/PA Used
## 216.626: co_admit2: Patient Departing BAS for FRST/BSMC
## 217.41: co_admit177: Admission Arrives Priority: 4
## 217.41: co_admit177: Patient Movement to BAS via GA
## 217.41: non_admit177: Non-Admission Arrives Priority: 4
## 217.41: non_admit177: Patient Movement to BAS via GA
## 218.631: co_admit178: Admission Arrives Priority: 3
## 218.631: co_admit178: Patient Movement to BAS via GA
## 218.631: non_admit178: Non-Admission Arrives Priority: 3
## 218.631: non_admit178: Patient Movement to BAS via GA
## 219.852: co_admit179: Admission Arrives Priority: 3
## 219.852: co_admit179: Patient Movement to BAS via GA
## 219.852: non_admit179: Non-Admission Arrives Priority: 4
## 219.852: non_admit179: Patient Movement to BAS via GA
## 221.074: co_admit180: Admission Arrives Priority: 1
## 221.074: co_admit180: Patient Movement to BAS via GA
## 221.074: non_admit180: Non-Admission Arrives Priority: 3
## 221.074: non_admit180: Patient Movement to BAS via GA
## 222.148: co_ga27: Seize Co GA: 222.147785840799
## 222.295: co_admit181: Admission Arrives Priority: 4
## 222.295: co_admit181: Patient Movement to BAS via GA
## 222.295: non_admit181: Non-Admission Arrives Priority: 4
## 222.295: non_admit181: Patient Movement to BAS via GA
## 223.293: batch31: Company GA Seized
## 223.517: co_admit182: Admission Arrives Priority: 3
## 223.517: co_admit182: Patient Movement to BAS via GA
## 223.517: non_admit182: Non-Admission Arrives Priority: 3
## 223.517: non_admit182: Patient Movement to BAS via GA
## 224.738: co_admit183: Admission Arrives Priority: 3
## 224.738: co_admit183: Patient Movement to BAS via GA
## 224.738: non_admit183: Non-Admission Arrives Priority: 4
## 224.738: non_admit183: Patient Movement to BAS via GA
## 225.96: co_admit184: Admission Arrives Priority: 3
## 225.96: co_admit184: Patient Movement to BAS via GA
## 225.96: non_admit184: Non-Admission Arrives Priority: 3
## 225.96: non_admit184: Patient Movement to BAS via GA
## 227.181: co_admit185: Admission Arrives Priority: 4
## 227.181: co_admit185: Patient Movement to BAS via GA
## 227.181: non_admit185: Non-Admission Arrives Priority: 4
## 227.181: non_admit185: Patient Movement to BAS via GA
## 227.413: non_admit18: Combat Medic Used
## 227.413: non_admit19: Combat Medic Used
## 228.099: batch32: Company GA Seized
## 228.402: co_admit186: Admission Arrives Priority: 2
## 228.402: co_admit186: Patient Movement to BAS via GA
## 228.402: non_admit186: Non-Admission Arrives Priority: 4
## 228.402: non_admit186: Patient Movement to BAS via GA
## 228.492: co_admit6: Surgery time by AA to FRST:228.49207787267
## 229.199: co_ga28: Seize Co GA: 229.198974131915
## 229.624: co_admit187: Admission Arrives Priority: 2
## 229.624: co_admit187: Patient Movement to BAS via GA
## 229.624: non_admit187: Non-Admission Arrives Priority: 4
## 229.624: non_admit187: Patient Movement to BAS via GA
## 230.845: co_admit188: Admission Arrives Priority: 4
## 230.845: co_admit188: Patient Movement to BAS via GA
## 230.845: non_admit188: Non-Admission Arrives Priority: 4
## 230.845: non_admit188: Patient Movement to BAS via GA
## 231.053: co_ga29: Seize Co GA: 231.053207352679
## 232.067: co_admit189: Admission Arrives Priority: 3
## 232.067: co_admit189: Patient Movement to BAS via GA
## 232.067: non_admit189: Non-Admission Arrives Priority: 3
## 232.067: non_admit189: Patient Movement to BAS via GA
## 233.288: co_admit190: Admission Arrives Priority: 4
## 233.288: co_admit190: Patient Movement to BAS via GA
## 233.288: non_admit190: Non-Admission Arrives Priority: 4
## 233.288: non_admit190: Patient Movement to BAS via GA
## 233.319: non_admit20: Combat Medic Used
## 233.319: non_admit21: Combat Medic Used
## 234.509: co_admit191: Admission Arrives Priority: 2
## 234.509: co_admit191: Patient Movement to BAS via GA
## 234.509: non_admit191: Non-Admission Arrives Priority: 4
## 234.509: non_admit191: Patient Movement to BAS via GA
## 235.174: co_admit20: Combat Medic Used
## 235.174: co_admit21: Combat Medic Used
## 235.731: co_admit192: Admission Arrives Priority: 3
## 235.731: co_admit192: Patient Movement to BAS via GA
## 235.731: non_admit192: Non-Admission Arrives Priority: 3
## 235.731: non_admit192: Patient Movement to BAS via GA
## 236.952: co_admit193: Admission Arrives Priority: 2
## 236.952: co_admit193: Patient Movement to BAS via GA
## 236.952: non_admit193: Non-Admission Arrives Priority: 4
## 236.952: non_admit193: Patient Movement to BAS via GA
## 238.174: co_admit194: Admission Arrives Priority: 4
## 238.174: co_admit194: Patient Movement to BAS via GA
## 238.174: non_admit194: Non-Admission Arrives Priority: 4
## 238.174: non_admit194: Patient Movement to BAS via GA
## 239.236: co_ga30: Seize Co GA: 239.236205650833
## 239.395: co_admit195: Admission Arrives Priority: 4
## 239.395: co_admit195: Patient Movement to BAS via GA
## 239.395: non_admit195: Non-Admission Arrives Priority: 4
## 239.395: non_admit195: Patient Movement to BAS via GA
## simmer environment: anonymous | now: 240 | next: 240.114407190911
## { Resource: medic | monitored: TRUE | server status: 0(5) | queue status: 0(Inf) }
## { Resource: cogrd | monitored: TRUE | server status: 2(2) | queue status: 424(Inf) }
## { Resource: bngrd | monitored: TRUE | server status: 5(5) | queue status: 166(Inf) }
## { Resource: bdegrd | monitored: TRUE | server status: 3(3) | queue status: 209(Inf) }
## { Resource: XXAA | monitored: TRUE | server status: 15(15) | queue status: 215(Inf) }
## { Resource: XXXAA | monitored: TRUE | server status: 2(15) | queue status: 0(Inf) }
## { Resource: MD | monitored: TRUE | server status: 0(2) | queue status: 0(Inf) }
## { Generator: co_admit | monitored: 2 | n_generated: 197 }
## { Generator: non_admit | monitored: 2 | n_generated: 197 }
## { Generator: co_ga | monitored: 2 | n_generated: 282 }
## { Generator: bn_ga | monitored: 2 | n_generated: 206 }
## { Generator: bde_ga | monitored: 2 | n_generated: 231 }
## { Generator: XX AA | monitored: 2 | n_generated: 243 }
## { Generator: XXX AA | monitored: 2 | n_generated: 261 }
## { Generator: Co GA failure | monitored: 2 | n_generated: 1 }
## { Generator: Bn GA failure | monitored: 2 | n_generated: 1 }
## { Generator: Bde GA failure | monitored: 2 | n_generated: 1 }
## { Generator: XX AA failure | monitored: 2 | n_generated: 8 }
## { Generator: XXX AA failure | monitored: 2 | n_generated: 3 }
#wrap()
#})
######################################################################
############################Plot the Results#########################
plot(env, what = "resources", metric = "utilization", c("cogrd", "bngrd", "bdegrd","medic", "MD", "XXAA", "XXXAA"))
## Warning: package 'bindrcpp' was built under R version 3.3.3
plot(env, what = "resources", metric = "usage", c("cogrd", "bngrd", "bdegrd","medic", "MD", "XXAA", "XXXAA"), items = "server")
plot(env, what = "resources", metric = "usage", c("cogrd", "bngrd", "bdegrd","medic", "MD", "XXAA", "XXXAA"), items = "server", steps = TRUE)
plot(env, what = "arrivals", metric = "flow_time")
## `geom_smooth()` using method = 'loess'
plot(role1)
plot(role1air)
plot(role1bdeGA)
plot(role1bnGA)
plot(role1disp)
plot(role1GA)
plot(role1ground)
plot(role1ground2)
plot(role1move)
plot(role1non)
plot(role2)
plot(role2AA)
plot(role2air)
plot(role2axp)
plot(role2FRST)
plot(role2ground)
plot(role2PR)
plot(role2urg)
plot(role3AA)
plot(role3air)
plot(role3ground)
plot(role3move)
######################################################################
att=get_mon_attributes(env)
res=get_mon_resources(env)
arr=get_mon_arrivals(env)
#reset(env)