Commit 6e94fdff authored by Aaron Bray's avatar Aaron Bray
Browse files

Merge branch '2.x'

parents 92ab76c4 a5c408b9
......@@ -2,16 +2,42 @@
/cdm/build/
/engine/build/
/schema/build/
/schema/bind/
/test/build/
/sdk/howto/build/
# The IntelliJ build dir
/.idea/out
# This is for the C# how to
/sdk/howto/csharp/.vs
/sdk/howto/csharp/bin
/sdk/howto/csharp/obj
/sdk/howto/csharp/HowToCSharp.csproj.user
/sdk/howto/csharp/HowToCSharp.sdf
sdk/howto/csharp/*.db
sdk/howto/csharp/*.opendb
# This is for the C# projects
/.vs/
/schema/bin/
/schema/obj/
/cdm/csharp/bin
/cdm/csharp/obj
/engine/csharp/.vs
/engine/csharp/bin
/engine/csharp/obj
/engine/csharp/HowToCSharp.csproj.user
/engine/csharp/HowToCSharp.sdf
/engine/csharp/*.db
/engine/csharp/*.opendb
/sdk/howto/csharp/clr/.vs
/sdk/howto/csharp/clr/bin
/sdk/howto/csharp/clr/obj
/sdk/howto/csharp/clr/HowToCSharp.csproj.user
/sdk/howto/csharp/clr/HowToCSharp.sdf
/sdk/howto/csharp/clr/*.db
/sdk/howto/csharp/clr/*.opendb
/sdk/howto/csharp/c/.vs
/sdk/howto/csharp/c/bin
/sdk/howto/csharp/c/obj
/sdk/howto/csharp/c/HowToCSharp.csproj.user
/sdk/howto/csharp/c/HowToCSharp.sdf
/sdk/howto/csharp/c/*.db
/sdk/howto/csharp/c/*.opendb
......@@ -14,9 +14,14 @@
<root url="jar://$PROJECT_DIR$/jar/reflections-0.9.9-RC1-uberjar.jar!/" />
<root url="jar://$PROJECT_DIR$/jar/jcommon-1.0.16.jar!/" />
<root url="jar://$PROJECT_DIR$/jar/commons-logging-1.2.jar!/" />
<root url="jar://$PROJECT_DIR$/jar/guava-11.0.2.jar!/" />
<root url="jar://$PROJECT_DIR$/jar/gson-2.8.5.jar!/" />
<root url="jar://$PROJECT_DIR$/jar/guava-26.0-jre.jar!/" />
<root url="jar://$PROJECT_DIR$/jar/org.eclipse.jgit-4.11.0.201803080745-r.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
<excluded>
<root url="jar://$PROJECT_DIR$/jar/zip4j-1.3.1.jar!/" />
</excluded>
</library>
</component>
\ No newline at end of file
......@@ -2,14 +2,13 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/schema/bind/bind.iml" filepath="$PROJECT_DIR$/schema/bind/bind.iml" />
<module fileurl="file://$PROJECT_DIR$/cdm/cdm.iml" filepath="$PROJECT_DIR$/cdm/cdm.iml" />
<module fileurl="file://$PROJECT_DIR$/test/cdm/cdm_test.iml" filepath="$PROJECT_DIR$/test/cdm/cdm_test.iml" />
<module fileurl="file://$PROJECT_DIR$/test/driver/driver.iml" filepath="$PROJECT_DIR$/test/driver/driver.iml" />
<module fileurl="file://$PROJECT_DIR$/engine/engine.iml" filepath="$PROJECT_DIR$/engine/engine.iml" />
<module fileurl="file://$PROJECT_DIR$/test/engine/engine_test.iml" filepath="$PROJECT_DIR$/test/engine/engine_test.iml" />
<module fileurl="file://$PROJECT_DIR$/sdk/howto/howto.iml" filepath="$PROJECT_DIR$/sdk/howto/howto.iml" />
<module fileurl="file://$PROJECT_DIR$/../../builds/engine/protobuf/src/protobuf/java/core/src/main/protobuf.iml" filepath="$PROJECT_DIR$/../../builds/engine/protobuf/src/protobuf/java/core/src/main/protobuf.iml" />
<module fileurl="file://$PROJECT_DIR$/../../builds/engine/Pulse/schema/schema.iml" filepath="$PROJECT_DIR$/../../builds/engine/Pulse/schema/schema.iml" />
</modules>
</component>
</project>
\ No newline at end of file
This diff is collapsed.
......@@ -85,7 +85,7 @@ list(APPEND LOG4CPLUS_INCLUDE_DIR ${log4cplus_SRC}/include)
list(APPEND LOG4CPLUS_INCLUDE_DIR ${log4cplus_SRC}-build/include)
set(SCHEMA_SRC "${CMAKE_SOURCE_DIR}/schema")
set(SCHEMA_DST "${CMAKE_BINARY_DIR}/schema")
set(SCHEMA_DST "${CMAKE_SOURCE_DIR}/schema/bind")
# Settings for protobuf configuration
set(protobuf_BUILD_PROTOC_BINARIES OFF CACHE TYPE INTERNAL FORCE)
set(protobuf_BUILD_SHARED_LIBS OFF CACHE TYPE INTERNAL FORCE)
......@@ -109,8 +109,10 @@ add_subdirectory(engine)
add_subdirectory(test)
add_subdirectory(sdk)
add_subdirectory(verification)
include(${CMAKE_CURRENT_SOURCE_DIR}/PulseJNI.cmake)
# Various interfaces for different languages
include(${CMAKE_CURRENT_SOURCE_DIR}/PulseC.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/PulseCLR.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/PulseJNI.cmake)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_target_properties (libprotobuf libprotobuf-lite PROPERTIES FOLDER protobufs)
......
add_library(PulseC SHARED engine/cpp/PulseEngineC.h
engine/cpp/PulseEngineC.cpp)
target_include_directories(PulseC PRIVATE ${CMAKE_BINARY_DIR}/schema/cpp/)
target_include_directories(PulseC PRIVATE ${CMAKE_BINARY_DIR}/schema/cpp/bind/)
target_include_directories(PulseC PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/engine/cpp)
target_include_directories(PulseC PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/cdm/cpp)
target_include_directories(PulseC PRIVATE ${EIGEN3_INCLUDE_DIR})
target_include_directories(PulseC PRIVATE ${LOG4CPLUS_INCLUDE_DIR})
target_include_directories(PulseC PRIVATE ${PROTOBUF_INCLUDE_DIR})
set(PulseC_FLAGS)
set_target_properties(PulseC PROPERTIES COMPILE_FLAGS "${PulseC_FLAGS}" PREFIX "")
if(APPLE)
set_target_properties(PulseC PROPERTIES MACOSX_RPATH ON)
endif()
target_link_libraries(PulseC PulseEngine)
set_target_properties(PulseC PROPERTIES
DEBUG_POSTFIX "${PULSE_DEBUG_POSTFIX}"
RELWITHDEBINFO_POSTFIX "${PULSE_RELWITHDEBINFO_POSTFIX}")
add_custom_command(TARGET PulseC POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:PulseC> ${INSTALL_BIN})
install(TARGETS PulseC
RUNTIME DESTINATION ${INSTALL_BIN}
LIBRARY DESTINATION ${INSTALL_LIB}
ARCHIVE DESTINATION ${INSTALL_LIB})
......@@ -15,10 +15,10 @@ target_include_directories(PulseCLR PRIVATE ${EIGEN3_INCLUDE_DIR})
target_include_directories(PulseCLR PRIVATE ${LOG4CPLUS_INCLUDE_DIR})
target_include_directories(PulseCLR PRIVATE ${PROTOBUF_INCLUDE_DIR})
set(PulseCLR_FLAGS "/EHa")
set(PulseCLR_FLAGS "/clr /EHa")
string( REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} )
set_target_properties(PulseCLR PROPERTIES COMPILE_FLAGS "${PulseCLR_FLAGS}" PREFIX "")
set_target_properties(PulseCLR PROPERTIES COMMON_LANGUAGE_RUNTIME "") # Also turn on CLR
#set_target_properties(PulseCLR PROPERTIES COMMON_LANGUAGE_RUNTIME "") # CMake > 3.12 only
message(STATUS "PulseCLR COMPILE_FLAGS : ${CMAKE_CXX_FLAGS_DEBUG}")
set_target_properties(PulseCLR PROPERTIES
......

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2048
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataModelBindings", "schema\DataModelBindings.csproj", "{B2EDD13C-70D5-4460-9B89-6A2E33025917}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommonDataModel", "cdm\csharp\CommonDataModel.csproj", "{77EBB03F-149B-405A-94F6-8FD4D2A7BD4E}"
ProjectSection(ProjectDependencies) = postProject
{B2EDD13C-70D5-4460-9B89-6A2E33025917} = {B2EDD13C-70D5-4460-9B89-6A2E33025917}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PulseEngine", "engine\csharp\PulseEngine.csproj", "{1AEAB5E7-DD83-4710-9990-A28643E9A6E4}"
ProjectSection(ProjectDependencies) = postProject
{77EBB03F-149B-405A-94F6-8FD4D2A7BD4E} = {77EBB03F-149B-405A-94F6-8FD4D2A7BD4E}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B2EDD13C-70D5-4460-9B89-6A2E33025917}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B2EDD13C-70D5-4460-9B89-6A2E33025917}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B2EDD13C-70D5-4460-9B89-6A2E33025917}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B2EDD13C-70D5-4460-9B89-6A2E33025917}.Release|Any CPU.Build.0 = Release|Any CPU
{77EBB03F-149B-405A-94F6-8FD4D2A7BD4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{77EBB03F-149B-405A-94F6-8FD4D2A7BD4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{77EBB03F-149B-405A-94F6-8FD4D2A7BD4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{77EBB03F-149B-405A-94F6-8FD4D2A7BD4E}.Release|Any CPU.Build.0 = Release|Any CPU
{1AEAB5E7-DD83-4710-9990-A28643E9A6E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AEAB5E7-DD83-4710-9990-A28643E9A6E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AEAB5E7-DD83-4710-9990-A28643E9A6E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AEAB5E7-DD83-4710-9990-A28643E9A6E4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {85696B76-5E05-4E52-8E1E-A42766963AE5}
EndGlobalSection
EndGlobal
......@@ -9,8 +9,6 @@ add_library(PulseJNI SHARED cdm/cpp/CommonDataModelJNI.cpp
engine/cpp/PulseEngineJNI.cpp)
find_package(JNI REQUIRED)
target_include_directories(PulseJNI PRIVATE ${JNI_INCLUDE_DIRS})
target_include_directories(PulseJNI PRIVATE ${CMAKE_BINARY_DIR}/schema/cpp/)
target_include_directories(PulseJNI PRIVATE ${CMAKE_BINARY_DIR}/schema/cpp/bind/)
target_include_directories(PulseJNI PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/engine/cpp)
target_include_directories(PulseJNI PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/cdm/cpp)
target_include_directories(PulseJNI PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/test/engine/cpp)
......@@ -43,8 +41,7 @@ install(TARGETS PulseJNI
file(GLOB_RECURSE JAVA_FILES
"${CMAKE_BINARY_DIR}/schema/java/*.java"
"${CMAKE_BINARY_DIR}/../protobuf/src/protobuf/java/core/src/main/java/*.java"
"${CMAKE_SOURCE_DIR}/schema/bind/java/*.java"
"${CMAKE_SOURCE_DIR}/cdm/java/*.java"
"${CMAKE_SOURCE_DIR}/engine/java/*.java"
"${CMAKE_SOURCE_DIR}/test/cdm/java/*.java"
......@@ -55,7 +52,8 @@ add_jar(PulseJava ${JAVA_FILES}
"${CMAKE_SOURCE_DIR}/jar/jcommon-1.0.16.jar"
"${CMAKE_SOURCE_DIR}/jar/jdom-2.0.2.jar"
"${CMAKE_SOURCE_DIR}/jar/jfreechart-1.0.13.jar"
"${CMAKE_SOURCE_DIR}/jar/guava-11.0.2.jar"
"${CMAKE_SOURCE_DIR}/jar/gson-2.8.5.jar"
"${CMAKE_SOURCE_DIR}/jar/guava-26.0-jre.jar"
"${CMAKE_SOURCE_DIR}/jar/log4j-1.2.17.jar"
"${CMAKE_SOURCE_DIR}/jar/poi-3.13-20150929.jar"
"${CMAKE_SOURCE_DIR}/jar/poi-ooxml-3.13-20150929.jar"
......
......@@ -41,7 +41,7 @@ message(STATUS "Eigen is here : ${eigen_SRC}" )
###################################################
message( STATUS "External project - log4cplus" )
set(log4cplus_SRC "${CMAKE_BINARY_DIR}/log4cplus/src/log4cplus")
set(log4cplus_SRC "${CMAKE_BINARY_DIR}/log4cplus/src/log4cplus" CACHE PATH "Log4cplus Source")
ExternalProject_Add( log4cplus
PREFIX log4cplus
......@@ -49,7 +49,7 @@ ExternalProject_Add( log4cplus
#URL_HASH MD5=33940534c0aaa7902355c4fbd1e7e7f3
GIT_REPOSITORY "https://github.com/log4cplus/log4cplus.git"
GIT_TAG 411a262b92a7bdc26348d6ae6b15f76763c21b44
# GIT_SHALLOW TRUE
# GIT_SHALLOW TRUE
# Build this in the Inner build
# It will be easier to switch cofigurations in MSVC/XCode
CONFIGURE_COMMAND ""
......
{
"Name":"BasicStandard",
"Description":"Basic scenario measuring patient vitals with no insults or interventions",
"StartType":{"EngineStateFile":"./states/StandardMale@0s.json"},
"DataRequestManager": {"DataRequest":[
{"DecimalFormat":{"Precision":1},"Category":"Patient", "PropertyName":"Weight", "Unit":"kg"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"HeartRate", "Unit":"1/min"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"HeartStrokeVolume", "Unit":"mL"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"BloodVolume", "Unit":"L"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"ExtravascularFluidVolume", "Unit":"L"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"ArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"MeanArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{} , "Category":"Physiology", "PropertyName":"SystolicArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"DiastolicArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"CardiacOutput", "Unit":"L/min"},
{"DecimalFormat":{}, "Category":"Physiology", "PropertyName":"HemoglobinContent", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"CentralVenousPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"PulmonaryCapillariesWedgePressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"TidalVolume", "Unit":"mL"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"TotalLungVolume", "Unit":"L"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"RespirationRate", "Unit":"1/min"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"OxygenSaturation", "Unit":"unitless"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"CarbonDioxideSaturation", "Unit":"unitless"},
{"DecimalFormat":{"Precision":4}, "Category":"Physiology", "PropertyName":"EndTidalCarbonDioxideFraction", "Unit":"unitless"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"TotalAlveolarVentilation", "Unit":"L/min"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"TranspulmonaryPressure", "Unit":"cmH2O"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"CoreTemperature", "Unit":"degC"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"SkinTemperature", "Unit":"degC"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"RespiratoryExchangeRatio", "Unit":"unitless"},
{"DecimalFormat":{} , "Category":"Physiology", "PropertyName":"OxygenConsumptionRate", "Unit":"mL/min"},
{"DecimalFormat":{} , "Category":"Physiology", "PropertyName":"CarbonDioxideProductionRate", "Unit":"mL/min"},
{"DecimalFormat":{} , "Category":"Physiology", "PropertyName":"GlomerularFiltrationRate", "Unit":"mL/min"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"RenalBloodFlow", "Unit":"L/min"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"UrineProductionRate", "Unit":"mL/min"},
{"DecimalFormat":{"Precision":4}, "Category":"Physiology", "PropertyName":"LeftAfferentArterioleResistance", "Unit":"mmHg min/mL"},
{"DecimalFormat":{"Precision":4}, "Category":"Physiology", "PropertyName":"RightAfferentArterioleResistance", "Unit":"mmHg min/mL"},
{"DecimalFormat":{} , "Category":"GasCompartment", "CompartmentName":"LeftAlveoli", "PropertyName":"Pressure", "Unit":"cmH2O"},
{"DecimalFormat":{} , "Category":"GasCompartment", "CompartmentName":"LeftAlveoli", "SubstanceName":"Oxygen", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"GasCompartment", "CompartmentName":"LeftAlveoli", "SubstanceName":"CarbonDioxide", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{} , "Category":"GasCompartment", "CompartmentName":"RightAlveoli", "PropertyName":"Pressure", "Unit":"cmH2O"},
{"DecimalFormat":{} , "Category":"GasCompartment", "CompartmentName":"RightAlveoli", "SubstanceName":"Oxygen", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"GasCompartment", "CompartmentName":"RightAlveoli", "SubstanceName":"CarbonDioxide", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{} , "Category":"GasCompartment", "CompartmentName":"Carina", "SubstanceName":"Oxygen", "PropertyName":"PartialPressure", "Unit":"cmH2O"},
{"DecimalFormat":{"Precision":1}, "Category":"GasCompartment", "CompartmentName":"Carina", "SubstanceName":"CarbonDioxide", "PropertyName":"PartialPressure", "Unit":"cmH2O"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"Aorta", "SubstanceName":"Oxygen", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"Aorta", "SubstanceName":"CarbonDioxide", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"VenaCava", "SubstanceName":"Oxygen", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"VenaCava", "SubstanceName":"CarbonDioxide", "PropertyName":"PartialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"RightTubules", "SubstanceName":"Sodium", "PropertyName":"Concentration", "Unit":"g/L"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"LeftTubules", "SubstanceName":"Sodium", "PropertyName":"Concentration", "Unit":"g/L"},
{"DecimalFormat":{"Precision":2}, "Category":"Substance", "SubstanceName":"Oxygen", "PropertyName":"AlveolarTransfer", "Unit":"mL/s"},
{"DecimalFormat":{"Precision":2}, "Category":"Substance", "SubstanceName":"CarbonDioxide", "PropertyName":"AlveolarTransfer", "Unit":"mL/s"},
{"DecimalFormat":{"Precision":6}, "Category":"Substance", "SubstanceName":"Epinephrine", "PropertyName":"BloodConcentration", "Unit":"ug/L"},
# Specific to this scenario
{"DecimalFormat":{"Precision":8}, "Category":"Substance", "SubstanceName":"Epinephrine", "PropertyName":"SystemicMassCleared", "Unit":"ug"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"ChymeAbsorptionRate", "Unit":"mL/min"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"StomachContents-Carbohydrate", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"StomachContents-Fat", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"StomachContents-Protein", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"StomachContents-Calcium", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"StomachContents-Sodium", "Unit":"g"},
{"DecimalFormat":{} , "Category":"Physiology", "PropertyName":"StomachContents-Water", "Unit":"mL"},
{"DecimalFormat":{} , "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineChyme", "PropertyName":"Volume", "Unit":"mL"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineChyme", "SubstanceName":"Glucose", "PropertyName":"Mass", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineChyme", "SubstanceName":"Tristearin", "PropertyName":"Mass", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineChyme", "SubstanceName":"Calcium", "PropertyName":"Mass", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineChyme", "SubstanceName":"Sodium", "PropertyName":"Mass", "Unit":"g"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineChyme", "SubstanceName":"Urea", "PropertyName":"Mass", "Unit":"g"},
{"DecimalFormat":{} , "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineVasculature", "PropertyName":"Volume", "Unit":"mL"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineVasculature", "PropertyName":"Pressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineVasculature", "SubstanceName":"Glucose", "PropertyName":"Concentration", "Unit":"mg/dL"},
{"DecimalFormat":{} , "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineVasculature", "SubstanceName":"Tristearin", "PropertyName":"Concentration", "Unit":"mg/dL"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineVasculature", "SubstanceName":"Calcium", "PropertyName":"Concentration", "Unit":"mg/L"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineVasculature", "SubstanceName":"Sodium", "PropertyName":"Concentration", "Unit":"g/L"},
{"DecimalFormat":{"Precision":1}, "Category":"LiquidCompartment", "CompartmentName":"SmallIntestineVasculature", "SubstanceName":"Urea", "PropertyName":"Concentration", "Unit":"mg/dL"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"HeartEjectionFraction"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"SystemicVascularResistance","Unit":"mmHg s/mL"},
{"DecimalFormat":{} , "Category":"LiquidCompartment","CompartmentName":"Pericardium","PropertyName":"Volume", "Unit":"mL"},
{"DecimalFormat":{"Precision":2}, "Category":"LiquidCompartment","CompartmentName":"Pericardium","PropertyName":"Pressure","Unit":"mmHg"}
]},
"AnyAction":[{"AdvanceTime":{"Time":{"ScalarTime":{"Value":2.0,"Unit":"min"}}}}]}
\ No newline at end of file
Name: "BasicStandard"
Description: "Basic scenario measuring patient vitals with no insults or interventions"
EngineStateFile :"./states/StandardMale@0s.pba"
# Base system data required for all scenario verification
DataRequestManager
{
DataRequest { Category:Patient PropertyName:"Weight" Unit:"kg" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"HeartRate" Unit:"1/min" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"HeartStrokeVolume" Unit:"mL" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"BloodVolume" Unit:"L" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"ExtravascularFluidVolume" Unit:"L" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"ArterialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"MeanArterialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"SystolicArterialPressure" Unit:"mmHg" DecimalFormat{Precision:0} }
DataRequest { Category:Physiology PropertyName:"DiastolicArterialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"CardiacOutput" Unit:"L/min" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"HemoglobinContent" Unit:"g" DecimalFormat{Precision:0} }
DataRequest { Category:Physiology PropertyName:"CentralVenousPressure" Unit:"mmHg" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"PulmonaryCapillariesWedgePressure" Unit:"mmHg" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"TidalVolume" Unit:"mL" DecimalFormat{Precision:3} }
DataRequest { Category:Physiology PropertyName:"TotalLungVolume" Unit:"L" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"RespirationRate" Unit:"1/min" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"OxygenSaturation" Unit:"unitless" DecimalFormat{Precision:3} }
DataRequest { Category:Physiology PropertyName:"CarbonDioxideSaturation" Unit:"unitless" DecimalFormat{Precision:3} }
DataRequest { Category:Physiology PropertyName:"EndTidalCarbonDioxideFraction" Unit:"unitless" DecimalFormat{Precision:4} }
DataRequest { Category:Physiology PropertyName:"TotalAlveolarVentilation" Unit:"L/min" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"TranspulmonaryPressure" Unit:"cmH2O" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"CoreTemperature" Unit:"degC" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"SkinTemperature" Unit:"degC" DecimalFormat{Precision:1} }
DataRequest { Category:Physiology PropertyName:"RespiratoryExchangeRatio" Unit:"unitless" DecimalFormat{Precision:3} }
DataRequest { Category:Physiology PropertyName:"OxygenConsumptionRate" Unit:"mL/min" DecimalFormat{Precision:0} }
DataRequest { Category:Physiology PropertyName:"CarbonDioxideProductionRate" Unit:"mL/min" DecimalFormat{Precision:0} }
DataRequest { Category:Physiology PropertyName:"GlomerularFiltrationRate" Unit:"mL/min" DecimalFormat{Precision:0} }
DataRequest { Category:Physiology PropertyName:"RenalBloodFlow" Unit:"L/min" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"UrineProductionRate" Unit:"mL/min" DecimalFormat{Precision:3} }
DataRequest { Category:Physiology PropertyName:"LeftAfferentArterioleResistance" Unit:"mmHg min/mL" DecimalFormat{Precision:4} }
DataRequest { Category:Physiology PropertyName:"RightAfferentArterioleResistance" Unit:"mmHg min/mL" DecimalFormat{Precision:4} }
DataRequest { Category:GasCompartment CompartmentName:"LeftAlveoli" PropertyName:"Pressure" Unit:"cmH2O" DecimalFormat{Precision:0} }
DataRequest { Category:GasCompartment CompartmentName:"LeftAlveoli" SubstanceName:"Oxygen" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:0} }
DataRequest { Category:GasCompartment CompartmentName:"LeftAlveoli" SubstanceName:"CarbonDioxide" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:GasCompartment CompartmentName:"RightAlveoli" PropertyName:"Pressure" Unit:"cmH2O" DecimalFormat{Precision:0} }
DataRequest { Category:GasCompartment CompartmentName:"RightAlveoli" SubstanceName:"Oxygen" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:0} }
DataRequest { Category:GasCompartment CompartmentName:"RightAlveoli" SubstanceName:"CarbonDioxide" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:GasCompartment CompartmentName:"Carina" SubstanceName:"Oxygen" PropertyName:"PartialPressure" Unit:"cmH2O" DecimalFormat{Precision:0} }
DataRequest { Category:GasCompartment CompartmentName:"Carina" SubstanceName:"CarbonDioxide" PropertyName:"PartialPressure" Unit:"cmH2O" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"Aorta" SubstanceName:"Oxygen" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"Aorta" SubstanceName:"CarbonDioxide" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"VenaCava" SubstanceName:"Oxygen" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"VenaCava" SubstanceName:"CarbonDioxide" PropertyName:"PartialPressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"RightTubules" SubstanceName:"Sodium" PropertyName:"Concentration" Unit:"g/L" DecimalFormat{Precision:2} }
DataRequest { Category:LiquidCompartment CompartmentName:"LeftTubules" SubstanceName:"Sodium" PropertyName:"Concentration" Unit:"g/L" DecimalFormat{Precision:2} }
DataRequest { Category:Substance SubstanceName:"Oxygen" PropertyName:"AlveolarTransfer" Unit:"mL/s" DecimalFormat{Precision:2} }
DataRequest { Category:Substance SubstanceName:"CarbonDioxide" PropertyName:"AlveolarTransfer" Unit:"mL/s" DecimalFormat{Precision:2} }
DataRequest { Category:Substance SubstanceName:"Epinephrine" PropertyName:"BloodConcentration" Unit:"ug/L" DecimalFormat{Precision:6} }
# Specific to this scenario
DataRequest { Category:Substance SubstanceName:"Epinephrine" PropertyName:"SystemicMassCleared" Unit:"ug" DecimalFormat{Precision:8} }
DataRequest { Category:Physiology PropertyName:"ChymeAbsorbtionRate" Unit:"mL/min" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"StomachContents-Carbohydrate" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"StomachContents-Fat" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"StomachContents-Protein" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"StomachContents-Calcium" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"StomachContents-Sodium" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:Physiology PropertyName:"StomachContents-Water" Unit:"mL" DecimalFormat{Precision:0} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineChyme" PropertyName:"Volume" Unit:"mL" DecimalFormat{Precision:0} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineChyme" SubstanceName:"Glucose" PropertyName:"Mass" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineChyme" SubstanceName:"Tristearin" PropertyName:"Mass" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineChyme" SubstanceName:"Calcium" PropertyName:"Mass" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineChyme" SubstanceName:"Sodium" PropertyName:"Mass" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineChyme" SubstanceName:"Urea" PropertyName:"Mass" Unit:"g" DecimalFormat{Precision:2} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineVasculature" PropertyName:"Volume" Unit:"mL" DecimalFormat{Precision:0} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineVasculature" PropertyName:"Pressure" Unit:"mmHg" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineVasculature" SubstanceName:"Glucose" PropertyName:"Concentration" Unit:"mg/dL" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineVasculature" SubstanceName:"Tristearin" PropertyName:"Concentration" Unit:"mg/dL" DecimalFormat{Precision:0} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineVasculature" SubstanceName:"Calcium" PropertyName:"Concentration" Unit:"mg/L" DecimalFormat{Precision:1} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineVasculature" SubstanceName:"Sodium" PropertyName:"Concentration" Unit:"g/L" DecimalFormat{Precision:2} }
DataRequest { Category:LiquidCompartment CompartmentName:"SmallIntestineVasculature" SubstanceName:"Urea" PropertyName:"Concentration" Unit:"mg/dL" DecimalFormat{Precision:1} }
# Data needed for scenario condition validation
DataRequest { Category:Physiology PropertyName:"HeartEjectionFraction" DecimalFormat{Precision:3} }
DataRequest { Category:Physiology PropertyName:"SystemicVascularResistance" Unit:"mmHg s/mL" DecimalFormat{Precision:3} }
DataRequest { Category:LiquidCompartment CompartmentName:"Pericardium" PropertyName:"Volume" Unit:"mL" DecimalFormat{Precision:0} }
DataRequest { Category:LiquidCompartment CompartmentName:"Pericardium" PropertyName:"Pressure" Unit:"mmHg" DecimalFormat{Precision:2} }
}
AnyAction
{
AdvanceTime
{
Time { ScalarTime {Value: 2.0 Unit: "min"} }
}
}
{
"Name": "InitialStableState",
"Description": "Stabilize a patient and save out the engines state at time zero",
"StartType": {
"PatientConfiguration": {
"PatientFile": "StandardMale.json"
}
},
"AnyAction": [{
"Serialize": {
}
}]
}
\ No newline at end of file
Name: "InitialStableState"
Description: "Stabilize a patient and save out the engines state at time zero"
InitialParameters { PatientFile:"StandardMale.pba" }
AnyAction
{
Serialize { }
}
{
}
\ No newline at end of file
#This will change the time step
#TimeStep {
# ScalarTime { Value: 0.02 Unit: "s" }
#}
{
"Configuration": {
"AutoSerialization" : {
"Directory" : "./states/testing/",
"Filename" : "SerializationTest",
"AfterActions" : "On",
"Period" : { "ScalarTime": { "Value": 5.0, "Unit": "s" } },
"PeriodTimeStamps" : "On",
"ReloadState" : "On",
}
},
"Scenario": {
"Name":"SerializationTest",
"Description":"Basic scenario testing serialization",
"StartType":{"EngineStateFile":"./states/StandardMale@0s.json"},
"DataRequestManager": {
"DataRequest": [
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"HeartRate", "Unit":"1/min"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"ArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"MeanArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{} , "Category":"Physiology", "PropertyName":"SystolicArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"DiastolicArterialPressure", "Unit":"mmHg"},
{"DecimalFormat":{"Precision":3}, "Category":"Physiology", "PropertyName":"OxygenSaturation", "Unit":"unitless"},
{"DecimalFormat":{"Precision":4}, "Category":"Physiology", "PropertyName":"EndTidalCarbonDioxideFraction", "Unit":"unitless"},
{"DecimalFormat":{"Precision":2}, "Category":"Physiology", "PropertyName":"RespirationRate", "Unit":"1/min"},
{"DecimalFormat":{"Precision":1}, "Category":"Physiology", "PropertyName":"SkinTemperature", "Unit":"degC"},
{"DecimalFormat":{} , "Category":"GasCompartment", "CompartmentName":"Carina", "SubstanceName":"Oxygen", "PropertyName":"PartialPressure", "Unit":"cmH2O"},
]},
"AnyAction":[
{"AdvanceTime":{"Time":{"ScalarTime":{"Value":5.0,"Unit":"s"}}}},
{"PatientAction": {
"Hemorrhage": {
"Compartment": "RightArmVasculature",
"Rate": { "ScalarVolumePerTime": { "Value": 60.0, "Unit": "mL/min" } }
}
}},
{"AdvanceTime":{"Time":{"ScalarTime":{"Value":20.0,"Unit":"s"}}}},
]
}
}
\ No newline at end of file
# Prefix format:
# PREFIX <name> <symbol> <conversion-factor>
# [note that symbol is single char only]
#
# Quantity formats:
# 1) QUANTITY FUNDAMENTAL <name> [20LOG]
# 2) QUANTITY DERIVED <name> [20LOG] <expansion>
# <expansion> is a string representation of a complex unit. Juxtaposed symbols must be whitespace-separated.
# Symbols must already be defined
# Note that each quantity definition implicitly defines an anonymous, "base unit" for that type.
# The base unit refers to any subsequently-defined unit that has a conversion-factor of 1.0. For fundamental
# types, this is also the unit's bigness. For derived types, the bigness of any unit is its conversion
# factor times the bigness of the derived type's expansion. The unit conversion engine does not require
# the existence of a named unit whose conversion factor is 1.0, though for fundamental types, there is
# really no reason for there not to be one.
# [20LOG] is an optional flag that indicates that this quantity should obey the "20 Log Rule",
# for decibels, as explained in http://en.wikipedia.org/wiki/Decibel
#
# Unit formats
# 1) UNIT <quantity-name> <name> <symbol> <conversion-factor> <expansion> {ALLPREFIXES/NOPREFIXES} [<bias>]
# 2) UNIT <quantity-name> <name> <symbol> <conversion-factor> <expansion> {GOODPREFIXES/BADPREFIXES} <prefix-char-seq> [<bias>]
# [bias] is at the end because it is optional and seldom used (e.g. temperature)
# <prefix-char-seq> is a sequence of prefix characters that are either allowed or forbidden
# <quantity-name> is the name of the previously-defined quantity type to which this unit applies.
# <expansion> is a complex unit with respect to which the current unit's conversion factor and bias are defined, or "*"
# if wrt the base unit. A note on biases: Whereas conversion factors are
# relative, and the choice of base unit is largely arbitrary as far as conversion factors are concerned,
# the same is not true with biases. In order for quantity type conversions to be done properly
# (e.g. Temperature to Energy and vice versa), the base unit must be an absolute scale (e.g.
# (Kelvin or Rankine). Selecting Celsius as the base unit, and specifying biases relative to
# it, may work for simple conversions from one temperature to another, but will not yield
# correct results when converting between quantity types. This restriction does not
# preclude defining such a unit's bias and conversion factor in terms of some other
# non-base unit, so long as the definition chain ends with a unit of absolute scale. Note that
# the specified bias value is the value of the current unit when the target unit has the
# value zero.
#
# Quantity type mapping format:
# TYPEMAP <to-quantity> <from-quantity> <from-exponent> <mapping-unit>
# TYPEMAP allows the conversion between disparate quantity types. Such conversions are almost
# always context dependent. For example, one can convert frequency to energy in the context of
# electromagnetic radiation by multiplying the frequency (raised to the first power) by Planck's
# constant (raised to the first power).
# <to-quantity> is the name of the quantity being converted to (e.g. Energy)
# <from-quantity> is the name of the quantity type being converted from (e.g. Frequency).
# <from-exponent> is the power that the original value needs to be raised to. (In the case of E = h nu,
# this power is 1.0, but some conversions might involve an inverse relationship, in which
# case the power might be -1.0.)
# <mapping-unit> is an arbitrary compound unit string representing
# the physical constant or constants, such as "c", or "h", or "c^2", or "c h".
# Note that there is no need to define an inverse typemap in the other direction. This is computed automatically.
# A note on decibels
# Compled units may be preceded with "dB " to signify values in decibels relative to the unit which follows.
# E.g., you can use a unit like "dB mW", or "dB V/m".
PREFIX yotta Y 1.0e24