310 likes | 419 Views
The HSVO Simulator Environment Control Specification (SECS). Rachel Ellaway 1 , David Topps 2 1 Northern Ontario School of Medicine, 2 University of Calgary. MedBiquitous 2012. Conflict of interest.
E N D
The HSVO Simulator Environment Control Specification (SECS) Rachel Ellaway1, David Topps2 1Northern Ontario School of Medicine, 2University of Calgary MedBiquitous 2012
Conflict of interest I have no involvement with industry that creates a conflict of interest to disclose with respect to this workshop
What’s the problem? • Simulation devices are unitary, unconnected, perhaps unconnectable to each other and to other technologies • At most there is some connectivity through vendor tracking systems • Limited ROI on simulator tech • Limited applicability and scope of use • Problems amplified in distributed medical education programs
HSVO • NEP: Network enabled platform • Connecting heterogeneous devices: virtual patients (OL), mannequins (Laerdal SimMan 3G), light fields (virtualised cameras), 3D visualization (RSV and Volseg), multiple data sources (CMA, Medline) • Integrated NEP connects and controls devices (physical, online, distributed, helper) both for scenarios and sessions
Architecture edge device
Architecture activity activity activity edge device activity activity activity
Architecture activity activity activity edge device bus interface HSVONEP activity activity activity
Architecture HSVONEP
What goes over the wires? • HSVO Simulator Environment Control Specification (SECS)– using XML
SECS Messaging Bus Interface Edge Device (simulator) HSVONEP SECSmessages device-specificmessages
Concepts • Activity: a configuration of an edge device that provides discrete user or data interactions. • HSVONEP: the core authoring and runtime controller and router • Scenario: a template defining the workflow with edge devices and the transitions from one device to another. • Session: an instance of a scenario that adds timing and specific users. One scenario can be used to create multiple sessions.
Scenario Rules • HSVONEP holds the scenario specification as a set of rules • Use these devices and these activities at each device • Start with this, end with that • If this happens then change devices/actions/parameters
load • HSVONEP tells a service to load certain configuration data for an activity. The service waits for a “start” message before it starts running the activity. <message action=”load” ID=”3478” sessionID=“123”> <service ID=”2” activityID=”9” serviceUserID=”rellaway”/> </message>
start • HSVONEP tells a service it to start running its activity <message action=”start” ID=”3453” sessionID=“123-514-001”> <service ID=”2” activityID=”9” serviceUserID=”rellaway”/> </message>
pause • HSVONEP tells a specified service to stop playing its activity. The activity remains paused until it receives a “resume” action. <message action=”pause” ID=”6756” sessionID=“123”> <service ID=”1” activityID=”981” serviceUserID=”rellaway”/> </message>
resume • HSVONEP tells a service to resume its activity following a “pause” action. <message action=”resume” ID=”6759” sessionID=“123”> <service ID=”2 activityID=”9” serviceUserID=”rellaway”/> </message>
stop • HSVONEP tells a service telling it to stop. <message action=”stop” ID=”” sessionID=””> <service ID=”” activityID=”” serviceUserID=””/> </message> <message action=”stop” ID=”534” sessionID=“123”> <service ID=”2” activityID=”9” serviceUserID=”rell”/> </message>
getStatus • HSVONEP requests a “reportStatus” message outlining a service’s current state within the session. <message action=”getStatus” ID=”4565” sessionID=“123”> <service ID=”1” activityID=”981” serviceUserID=”rell”/> </message>
reportStatus • A service tells HSVONEP what it’s doing including listing available parameters and their current values within a specified session context. <message action=”reportStatus” sessionID=“123”> <service ID=”1” activityID=”981” serviceUserID=”re”> <activityParameters> <activityParameter ID=”1” value=”6”/> <activityParameter ID=”2” value=”144”/> </activityParameters> </session> </message
setParameter • HSVONEP tells a service instructing it to change one or more variables in an activity. <message action=”setParameter” ID=”7698” sessionID=“123”> <service ID=”1” activityID=”981” serviceUserID=””> <activityParameters> <activityParameter ID=”1” value=”1”/> <activityParameter ID=”2” value=”46”/> </activityParameters> </service> </message>
endSession • HSVONEP tells all services in the same session to unload parameters, release licenses and resources, and to drop all threads. <message action=”endSession” ID=”4554” sessionID=“123-514-001”/>
getProfile • HSVONEP tells a service to respond with a “reportStatus” message outlining its current state independent of a session. <message action=”getProfile” serviceID=”43” />
reportProfile • A service tells HSVONEP what it can do listing available activities and their parameters in response to a “reportProfile” message. <message action=”reportProfile” serviceID=”43” > <activity ID=“64”> <activityLabel>Shock</activityLabel> <activityParameters> <activityParameter ID=”17” value=”6”/> </activityParameters> </activity> </message
Put it all together Scenario specifies what happens HSVONEP controls how this is run by sending SECS messages: • Devices 1 and 2 load (D1 and D2) • D1 starts • An event triggers a rule that pauses D1 and starts D2 • Another event triggers a rule that pauses D2, switches back to D1 and syncs their data
Use cases • Integrate onscreen and physical sims • Sync 2 or more mannequins • Run integrated sim activities over multiple sites • Connect alternative helpers such as physiological algorithms to sims • Track and feedback on multi-sim performance • Open model for experimentation and discovery
SECS in context • Simple, device agnostic • Open specification • But simulation integration still in R&D • Adoption path unclear • IEEE model more complex but has more momentum including being a standard • Lessons from RSS, CC etc?
And it’s a big but • Almost no simulators really ready for this (lovely) architecture • SimMan 3G most open and can support only a small part of the SECS spec • OpenLabyrinth support but a hack – asymmetry and non-orthogonality with other devices • HSVO resorted to VNC solutions - nasty and unaesthetic but much improved functionality • What will simulation really interoperability look like? • Is beauty truth?
The HSVO Simulator Environment Control Specification (SECS) Rachel Ellaway1, David Topps2 1Northern Ontario School of Medicine, 2University of Calgary MedBiquitous 2012