I was working with Data Requests and Data Request Manager in unreal cpp, How exactly, are we supposed to get the values for lets say a data request created for HeartRate from SEDataRequest/SEDataRequestManager ? I see there’s a SEValidationTarget class too. Just need some clarity on how to efficiently use DataRequests.
Thanks in advance
Since you are using C++ via Unreal, you don’t need to use data requests unless you want Pulse to write out a csv file for you. Data requests are used as a “thunking” mechanism between the C++ API and the C, Java, C#, Python languages.
So you can use the C++ API directly to control the engine and access data.
I will be posting the latest Unreal plugin this week, but you can get it here from our repository
The plugin also has a bit of example code for creating a Pulse module that demonstrates using the Pulse API. In this method you can see how to pull data specific to our vitals monitor.. This repository also provides a super simple unreal project using this example Pulse module for various unreal versions.
We also have a folder of C++ files showing how to use the engine in various ways.
Start with this file, and you can look around that same folder for anything more specific you may want.
More documentaion can be found here. The Common Data Model and Integration sections should give more details on using the API
Hi Abray, thanks for your response.
I am aware that we can directly use the relevant systems to retrieve whatever data we need from the engine. We are using standardmale.json file to initialize the patient and also looking for a generic way to retrieve patient data which we thought Data Request could give us since they require a string identifier to search. So I was wondering how do I get the value of a data request within cpp ?
I updated the HowTo-EngineUse.cpp to demonstrate this
The engine tracker uses the data request to pull data and write to the csv file.
The tracker is mapping the memory address of the data request to the scalar class held on the systems and compartment.
So you should:
- Save off the data requests or (pointers to them) you create
- Get the value of that data request via the engine tracker
The engine tracker just grabs the SEScalar associated with that data request address and pulls the value from that scalar in the unity you specified. If you don’t specifiy a unit, it will be in the unit the engine uses… which you would have to figure out… I’d suggest looking at the
SEEngineTracker::GetScalar method and look at what unit is on the returned
Hey Aaron,(sorry for calling you abray)
Thanks for the help, that seemed to have done the trick. I am able to retrieve the value from those data requests!
abray is fine.
There are a lot of nooks and crannies to our API, so let us know if you have any more of these “is a way to get that from here”, there might be… And we can always make a new path!