Commit 516cff39 authored by Aaron Bray's avatar Aaron Bray
Browse files

Add new pulmonary shunt action/condition

Add severity to impaired alveolar exchange action/condition
Add support for overrides (actions and conditions)
Add support for a system not to calculate/transport circuits/graphs
Another iteration on the multiplex ventilation engine, new data gen method now
parent 7245eb9e
......@@ -114,9 +114,9 @@ equipment/InhalerOneActuationWithSpacerIncorrectUse.json = ScenarioTest
equipment/InhalerTwoActuations.json = ScenarioTest
equipment/MainstemIntubation.json = ScenarioTest
equipment/MechanicalVentilation.json = ScenarioTest
equipment/MechanicalVentilatorPressureControlled.json = ScenarioTest
equipment/NasalCannula.json = ScenarioTest
equipment/NonRebreatherMask.json = ScenarioTest
equipment/PressureControlContinuousMandatoryVentilation.json = ScenarioTest
equipment/SimpleMask.json = ScenarioTest
@group Drugs
......
......@@ -67,6 +67,7 @@ add_library_ex(CommonDataModel
engine/SEEnvironmentActionCollection.h
engine/SEEquipmentActionCollection.h
engine/SEEventManager.h
engine/SEOverrides.h
engine/SEPatientActionCollection.h
engine/SEPatientConfiguration.h
engine/SESerializeState.h
......@@ -129,6 +130,7 @@ add_library_ex(CommonDataModel
patient/actions/SEPatientAction.h
patient/actions/SEPatientAssessmentRequest.h
patient/actions/SEPericardialEffusion.h
patient/actions/SEPulmonaryShuntExacerbation.h
patient/actions/SERespiratoryFatigue.h
patient/actions/SESubstanceAdministration.h
patient/actions/SESubstanceBolus.h
......@@ -156,6 +158,7 @@ add_library_ex(CommonDataModel
patient/conditions/SELobarPneumonia.h
patient/conditions/SEPatientCondition.h
patient/conditions/SEPulmonaryFibrosis.h
patient/conditions/SEPulmonaryShunt.h
patient/conditions/SESepsis.h
properties/SEArray.h
properties/SEArrayPressure.h
......@@ -380,6 +383,7 @@ add_library_ex(CommonDataModel
engine/SEEnvironmentActionCollection.cpp
engine/SEEquipmentActionCollection.cpp
engine/SEEventManager.cpp
engine/SEOverrides.cpp
engine/SEPatientActionCollection.cpp
engine/SEPatientConfiguration.cpp
engine/SESerializeState.cpp
......@@ -455,6 +459,7 @@ add_library_ex(CommonDataModel
patient/actions/SEPatientAction.cpp
patient/actions/SEPatientAssessmentRequest.cpp
patient/actions/SEPericardialEffusion.cpp
patient/actions/SEPulmonaryShuntExacerbation.cpp
patient/actions/SERespiratoryFatigue.cpp
patient/actions/SESubstanceAdministration.cpp
patient/actions/SESubstanceBolus.cpp
......@@ -482,6 +487,7 @@ add_library_ex(CommonDataModel
patient/conditions/SELobarPneumonia.cpp
patient/conditions/SEPatientCondition.cpp
patient/conditions/SEPulmonaryFibrosis.cpp
patient/conditions/SEPulmonaryShunt.cpp
patient/conditions/SESepsis.cpp
#properties/SEArray.cpp
#properties/SEArrayPressure.cpp
......
......@@ -102,6 +102,3 @@ void SEActionManager::GetAllActions(std::vector<const SEAction*>& actions) const
m_EnvironmentActions->GetAllActions(actions);
m_EquipmentActions->GetAllActions(actions);
}
......@@ -15,6 +15,7 @@
#include "patient/conditions/SEImpairedAlveolarExchange.h"
#include "patient/conditions/SELobarPneumonia.h"
#include "patient/conditions/SEPulmonaryFibrosis.h"
#include "patient/conditions/SEPulmonaryShunt.h"
#include "patient/conditions/SESepsis.h"
// Environment Conditions
#include "system/environment/conditions/SEInitialEnvironmentalConditions.h"
......@@ -33,6 +34,7 @@ SEConditionManager::SEConditionManager(SESubstanceManager& substances) : Loggabl
m_LobarPneumonia = nullptr;
m_PericardialEffusion = nullptr;
m_PulmonaryFibrosis = nullptr;
m_PulmonaryShunt = nullptr;
m_ImpairedAlveolarExchange = nullptr;
m_InitialEnvironmentalConditions = nullptr;
m_Sepsis = nullptr;
......@@ -54,6 +56,7 @@ void SEConditionManager::Clear()
SAFE_DELETE(m_LobarPneumonia);
SAFE_DELETE(m_PericardialEffusion);
SAFE_DELETE(m_PulmonaryFibrosis);
SAFE_DELETE(m_PulmonaryShunt);
SAFE_DELETE(m_ImpairedAlveolarExchange);
SAFE_DELETE(m_InitialEnvironmentalConditions);
SAFE_DELETE(m_Sepsis);
......@@ -239,6 +242,19 @@ bool SEConditionManager::ProcessCondition(const SECondition& condition)
return true;
}
const SEPulmonaryShunt* ps = dynamic_cast<const SEPulmonaryShunt*>(&condition);
if (ps != nullptr)
{
if (HasPulmonaryShunt())
{
Error("Cannot have multiple Pulmonary Shunt conditions");
return false;
}
m_PulmonaryShunt = new SEPulmonaryShunt();
m_PulmonaryShunt->Copy(*ps);
return true;
}
const SESepsis* s = dynamic_cast<const SESepsis*>(&condition);
if (s != nullptr)
{
......@@ -409,6 +425,19 @@ const SEPulmonaryFibrosis* SEConditionManager::GetPulmonaryFibrosis() const
return m_PulmonaryFibrosis;
}
bool SEConditionManager::HasPulmonaryShunt() const
{
return m_PulmonaryShunt == nullptr ? false : m_PulmonaryShunt->IsValid();
}
SEPulmonaryShunt* SEConditionManager::GetPulmonaryShunt()
{
return m_PulmonaryShunt;
}
const SEPulmonaryShunt* SEConditionManager::GetPulmonaryShunt() const
{
return m_PulmonaryShunt;
}
bool SEConditionManager::HasSepsis() const
{
return m_Sepsis == nullptr ? false : m_Sepsis->IsValid();
......@@ -457,6 +486,8 @@ void SEConditionManager::GetAllConditions(std::vector<const SECondition*>& condi
conditions.push_back(GetLobarPneumonia());
if (HasPulmonaryFibrosis())
conditions.push_back(GetPulmonaryFibrosis());
if (HasPulmonaryShunt())
conditions.push_back(GetPulmonaryShunt());
if (HasSepsis())
conditions.push_back(GetSepsis());
......@@ -486,6 +517,8 @@ bool SEConditionManager::IsEmpty() const
return false;
if (HasPulmonaryFibrosis())
return false;
if (HasPulmonaryShunt())
return false;
if (HasSepsis())
return false;
......
......@@ -15,6 +15,7 @@ class SEConsumeMeal;
class SEImpairedAlveolarExchange;
class SELobarPneumonia;
class SEPulmonaryFibrosis;
class SEPulmonaryShunt;
class SESepsis;
// Environment Conditions
class SEInitialEnvironmentalConditions;
......@@ -86,6 +87,10 @@ public:
SEPulmonaryFibrosis* GetPulmonaryFibrosis();
const SEPulmonaryFibrosis* GetPulmonaryFibrosis() const;
bool HasPulmonaryShunt() const;
SEPulmonaryShunt* GetPulmonaryShunt();
const SEPulmonaryShunt* GetPulmonaryShunt() const;
bool HasSepsis() const;
SESepsis* GetSepsis();
const SESepsis* GetSepsis() const;
......@@ -112,6 +117,7 @@ protected:
SELobarPneumonia* m_LobarPneumonia;
SEChronicRenalStenosis* m_RenalStenosis;
SEPulmonaryFibrosis* m_PulmonaryFibrosis;
SEPulmonaryShunt* m_PulmonaryShunt;
SESepsis* m_Sepsis;
SEInitialEnvironmentalConditions* m_InitialEnvironmentalConditions;
......
/* Distributed under the Apache License, Version 2.0.
See accompanying NOTICE file for details.*/
#include "stdafx.h"
#include "engine/SEOverrides.h"
#include "io/protobuf/PBActions.h"
SEOverrides::SEOverrides() : SEAction()
{
}
SEOverrides::~SEOverrides()
{
Clear();
}
void SEOverrides::Clear()
{
SEAction::Clear();
RemovePairs();
}
void SEOverrides::Copy(const SEOverrides& src)
{
PBAction::Copy(src, *this);
}
bool SEOverrides::IsValid() const
{
return HasPairs();
}
void SEOverrides::ToString(std::ostream &str) const
{
if(HasComment())
str<<"\n\tComment : "<<m_Comment;
for(auto itr : m_Pairs)
str << "Override " << itr.first << " with " << itr.second;
}
bool SEOverrides::HasPairs() const
{
return m_Pairs.size()>1;
}
void SEOverrides::AddPair(const std::string& name, double value)
{
m_Pairs[name] = value;
}
std::map<std::string, double>& SEOverrides::GetPairs()
{
return m_Pairs;
}
const std::map<std::string, double>& SEOverrides::GetPairs() const
{
return m_Pairs;
}
void SEOverrides::RemovePairs()
{
m_Pairs.clear();
}
/* Distributed under the Apache License, Version 2.0.
See accompanying NOTICE file for details.*/
#pragma once
#include "engine/SEAction.h"
class CDM_DECL SEOverrides : public SEAction
{
friend class PBAction;//friend the serialization class
public:
SEOverrides();
virtual ~SEOverrides();
virtual void Clear(); //clear memory
virtual void Copy(const SEOverrides& src);
virtual bool IsValid() const;
virtual void ToString(std::ostream &str) const;
virtual bool HasPairs() const;
virtual void AddPair(const std::string& name, double value);
virtual std::map<std::string, double>& GetPairs();
virtual const std::map<std::string, double>& GetPairs() const;
virtual void RemovePairs();
protected:
std::map<std::string, double> m_Pairs;
};
\ No newline at end of file
......@@ -26,6 +26,7 @@
#include "patient/actions/SEMechanicalVentilation.h"
#include "patient/actions/SENeedleDecompression.h"
#include "patient/actions/SEPericardialEffusion.h"
#include "patient/actions/SEPulmonaryShuntExacerbation.h"
#include "patient/actions/SERespiratoryFatigue.h"
#include "patient/actions/SESubstanceBolus.h"
#include "patient/actions/SESubstanceCompoundInfusion.h"
......@@ -67,6 +68,7 @@ SEPatientActionCollection::SEPatientActionCollection(SESubstanceManager& substan
m_RightNeedleDecompression = nullptr;
m_RespiratoryFatigue = nullptr;
m_PericardialEffusion = nullptr;
m_PulmonaryShuntExacerbation = nullptr;
m_SupplementalOxygen = nullptr;
m_LeftOpenTensionPneumothorax = nullptr;
m_LeftClosedTensionPneumothorax = nullptr;
......@@ -104,6 +106,7 @@ void SEPatientActionCollection::Clear()
RemoveLeftNeedleDecompression();
RemoveRightNeedleDecompression();
RemovePericardialEffusion();
RemovePulmonaryShuntExacerbation();
RemoveRespiratoryFatigue();
RemoveLeftOpenTensionPneumothorax();
RemoveLeftClosedTensionPneumothorax();
......@@ -428,6 +431,17 @@ bool SEPatientActionCollection::ProcessAction(const SEPatientAction& action)
return true;
}
const SEPulmonaryShuntExacerbation* pulshuntex = dynamic_cast<const SEPulmonaryShuntExacerbation*>(&action);
if (pulshuntex != nullptr)
{
if (m_PulmonaryShuntExacerbation == nullptr)
m_PulmonaryShuntExacerbation = new SEPulmonaryShuntExacerbation();
m_PulmonaryShuntExacerbation->Copy(*pulshuntex);
if (!m_PulmonaryShuntExacerbation->IsActive())
RemovePulmonaryShuntExacerbation();
return true;
}
const SERespiratoryFatigue* rf = dynamic_cast<const SERespiratoryFatigue*>(&action);
if (rf != nullptr)
{
......@@ -1000,6 +1014,23 @@ void SEPatientActionCollection::RemovePericardialEffusion()
SAFE_DELETE(m_PericardialEffusion);
}
bool SEPatientActionCollection::HasPulmonaryShuntExacerbation() const
{
return m_PulmonaryShuntExacerbation == nullptr ? false : m_PulmonaryShuntExacerbation->IsActive();
}
SEPulmonaryShuntExacerbation* SEPatientActionCollection::GetPulmonaryShuntExacerbation()
{
return m_PulmonaryShuntExacerbation;
}
const SEPulmonaryShuntExacerbation* SEPatientActionCollection::GetPulmonaryShuntExacerbation() const
{
return m_PulmonaryShuntExacerbation;
}
void SEPatientActionCollection::RemovePulmonaryShuntExacerbation()
{
SAFE_DELETE(m_PulmonaryShuntExacerbation);
}
bool SEPatientActionCollection::HasRespiratoryFatigue() const
{
return m_RespiratoryFatigue == nullptr ? false : m_RespiratoryFatigue->IsActive();
......@@ -1219,6 +1250,8 @@ void SEPatientActionCollection::GetAllActions(std::vector<const SEAction*>& acti
actions.push_back(GetRightNeedleDecompression());
if (HasPericardialEffusion())
actions.push_back(GetPericardialEffusion());
if (HasPulmonaryShuntExacerbation())
actions.push_back(GetPulmonaryShuntExacerbation());
if (HasRespiratoryFatigue())
actions.push_back(GetRespiratoryFatigue());
if (HasLeftClosedTensionPneumothorax())
......
......@@ -27,6 +27,7 @@ class SELobarPneumoniaExacerbation;
class SEMechanicalVentilation;
class SENeedleDecompression;
class SEPericardialEffusion;
class SEPulmonaryShuntExacerbation;
class SERespiratoryFatigue;
class SESubstanceBolus;
class SESubstanceCompoundInfusion;
......@@ -167,6 +168,11 @@ public:
const SEPericardialEffusion* GetPericardialEffusion() const;
void RemovePericardialEffusion();
bool HasPulmonaryShuntExacerbation() const;
SEPulmonaryShuntExacerbation* GetPulmonaryShuntExacerbation();
const SEPulmonaryShuntExacerbation* GetPulmonaryShuntExacerbation() const;
void RemovePulmonaryShuntExacerbation();
bool HasRespiratoryFatigue() const;
SERespiratoryFatigue* GetRespiratoryFatigue();
const SERespiratoryFatigue* GetRespiratoryFatigue() const;
......@@ -241,6 +247,7 @@ protected:
SENeedleDecompression* m_LeftNeedleDecompression;
SENeedleDecompression* m_RightNeedleDecompression;
SEPericardialEffusion* m_PericardialEffusion;
SEPulmonaryShuntExacerbation* m_PulmonaryShuntExacerbation;
SERespiratoryFatigue* m_RespiratoryFatigue;
SESupplementalOxygen* m_SupplementalOxygen;
SETensionPneumothorax* m_LeftClosedTensionPneumothorax;
......
......@@ -109,3 +109,24 @@ void SEPatientConfiguration::InvalidateConditions()
{
SAFE_DELETE(m_Conditions);
}
bool SEPatientConfiguration::HasOverride() const
{
return m_Overrides.size() > 1;
}
void SEPatientConfiguration::AddOverride(const std::string& name, double value)
{
m_Overrides[name] = value;
}
std::map<std::string, double>& SEPatientConfiguration::GetOverrides()
{
return m_Overrides;
}
const std::map<std::string, double>& SEPatientConfiguration::GetOverrides() const
{
return m_Overrides;
}
void SEPatientConfiguration::RemoveOverrides()
{
m_Overrides.clear();
}
......@@ -37,9 +37,16 @@ public:
virtual bool HasConditions() const;
virtual void InvalidateConditions();
virtual bool HasOverride() const;
virtual void AddOverride(const std::string& name, double value);
virtual std::map<std::string, double>& GetOverrides();
virtual const std::map<std::string, double>& GetOverrides() const;
virtual void RemoveOverrides();
protected:
SEPatient* m_Patient;
std::string m_PatientFile;
SEConditionManager* m_Conditions;
SESubstanceManager& m_SubMgr;
std::map<std::string, double> m_Overrides;
};
\ No newline at end of file
......@@ -16,6 +16,7 @@ POP_PROTO_WARNINGS()
#include "system/equipment/SEEquipmentAction.h"
#include "engine/SEAdvanceTime.h"
#include "engine/SESerializeState.h"
#include "engine/SEOverrides.h"
#include "substance/SESubstanceManager.h"
#include "properties/SEScalarTime.h"
......@@ -41,6 +42,12 @@ SEAction* PBAction::Load(const CDM_BIND::AnyActionData& action, SESubstanceManag
PBAction::Load(action.serialize(), *a);
return a;
}
case CDM_BIND::AnyActionData::kOverrides:
{
SEOverrides* a = new SEOverrides();
PBAction::Load(action.overrides(), *a);
return a;
}
}
subMgr.Error("Unknown Action");
return nullptr;
......@@ -61,6 +68,12 @@ CDM_BIND::AnyActionData* PBAction::Unload(const SEAction& action)
any->set_allocated_serialize(PBAction::Unload(*ss));
return any;
}
const SEOverrides* o = dynamic_cast<const SEOverrides*>(&action);
if (o != nullptr)
{
any->set_allocated_overrides(PBAction::Unload(*o));
return any;
}
const SEPatientAction* pa = dynamic_cast<const SEPatientAction*>(&action);
if (pa != nullptr)
......@@ -145,4 +158,38 @@ void PBAction::Serialize(const SESerializeState& src, CDM_BIND::SerializeStateDa
dst.set_type((CDM_BIND::SerializeStateData::eType)src.m_Type);
if (src.HasFilename())
dst.set_filename(src.m_Filename);
}
\ No newline at end of file
}
void PBAction::Load(const CDM_BIND::OverridesData& src, SEOverrides& dst)
{
PBAction::Serialize(src, dst);
}
void PBAction::Serialize(const CDM_BIND::OverridesData& src, SEOverrides& dst)
{
for (size_t i=0; i<src.propertypair_size(); i++)
{
const CDM_BIND::PropertyPairData& pp = src.propertypair()[i];
dst.GetPairs().insert(std::pair<std::string, double>(pp.name(), pp.value()));
}
}
CDM_BIND::OverridesData* PBAction::Unload(const SEOverrides& src)
{
CDM_BIND::OverridesData* dst = new CDM_BIND::OverridesData();
PBAction::Serialize(src, *dst);
return dst;
}
void PBAction::Serialize(const SEOverrides& src, CDM_BIND::OverridesData& dst)
{
for (auto itr : src.GetPairs())
{
CDM_BIND::PropertyPairData* pp = dst.add_propertypair();
pp->set_name(itr.first);
pp->set_value(itr.second);
}
}
void PBAction::Copy(const SEOverrides& src, SEOverrides& dst)
{
CDM_BIND::OverridesData data;
PBAction::Serialize(src, data);
PBAction::Serialize(data, dst);
}
......@@ -6,6 +6,7 @@ CDM_BIND_DECL(AnyActionData)
CDM_BIND_DECL2(Action)
CDM_BIND_DECL2(AdvanceTime)
CDM_BIND_DECL2(SerializeState)
CDM_BIND_DECL2(Overrides)
class SESubstanceManager;
class CDM_DECL PBAction
......@@ -31,4 +32,9 @@ public:
static void Serialize(const CDM_BIND::SerializeStateData& src, SESerializeState& dst);
static void Serialize(const SESerializeState& src, CDM_BIND::SerializeStateData& dst);
static void Load(const CDM_BIND::OverridesData& src, SEOverrides& dst);
static CDM_BIND::OverridesData* Unload(const SEOverrides& src);
static void Serialize(const CDM_BIND::OverridesData& src, SEOverrides& dst);
static void Serialize(const SEOverrides& src, CDM_BIND::OverridesData& dst);
static void Copy(const SEOverrides& src, SEOverrides& dst);
};
\ No newline at end of file
......@@ -38,6 +38,7 @@ POP_PROTO_WARNINGS()
#include "patient/actions/SEMechanicalVentilation.h"
#include "patient/actions/SENeedleDecompression.h"
#include "patient/actions/SEPericardialEffusion.h"
#include "patient/actions/SEPulmonaryShuntExacerbation.h"
#include "patient/actions/SERespiratoryFatigue.h"
#include "patient/actions/SESubstanceBolus.h"
#include "patient/actions/SESubstanceInfusion.h"
......@@ -124,7 +125,6 @@ void PBPatientAction::Copy(const SEAcuteStress& src, SEAcuteStress& dst)
PBPatientAction::Serialize(data, dst);
}
void PBPatientAction::Load(const CDM_BIND::AirwayObstructionData& src, SEAirwayObstruction& dst)
{
PBPatientAction::Serialize(src, dst);
......@@ -971,6 +971,35 @@ void PBPatientAction::Copy(const SEPericardialEffusion& src, SEPericardialEffusi
PBPatientAction::Serialize(data, dst);
}
void PBPatientAction::Load(const CDM_BIND::PulmonaryShuntExacerbationData& src, SEPulmonaryShuntExacerbation& dst)
{
PBPatientAction::Serialize(src, dst);
}
void PBPatientAction::Serialize(const CDM_BIND::PulmonaryShuntExacerbationData& src, SEPulmonaryShuntExacerbation& dst)
{
PBPatientAction::Serialize(src.patientaction(), dst);
if (src.has_severity())
PBProperty::Load(src.severity(), dst.GetSeverity());
}
CDM_BIND::PulmonaryShuntExacerbationData* PBPatientAction::Unload(const SEPulmonaryShuntExacerbation& src)
{
CDM_BIND::PulmonaryShuntExacerbationData* dst = new CDM_BIND::PulmonaryShuntExacerbationData();
PBPatientAction::Serialize(src, *dst);
return dst;
}
void PBPatientAction::Serialize(const SEPulmonaryShuntExacerbation& src, CDM_BIND::PulmonaryShuntExacerbationData& dst)
{
PBPatientAction::Serialize(src, *dst.mutable_patientaction());
if (src.HasSeverity())
dst.set_allocated_severity(PBProperty::Unload(*src.m_Severity));
}
void PBPatientAction::Copy(const SEPulmonaryShuntExacerbation& src, SEPulmonaryShuntExacerbation& dst)
{
CDM_BIND::PulmonaryShuntExacerbationData data;
PBPatientAction::Serialize(src, data);
PBPatientAction::Serialize(data, dst);
}
void PBPatientAction::Load(const CDM_BIND::RespiratoryFatigueData& src, SERespiratoryFatigue& dst)
{
PBPatientAction::Serialize(src, dst);
......@@ -1400,6 +1429,12 @@ SEPatientAction* PBPatientAction::Load(const CDM_BIND::AnyPatientActionData& any
PBPatientAction::Load(any.pericardialeffusion(), *a);
return a;
}
case CDM_BIND::AnyPatientActionData::ActionCase::kPulmonaryShuntExacerbation:
{
SEPulmonaryShuntExacerbation* a = new SEPulmonaryShuntExacerbation();
PBPatientAction::Load(any.pulmonaryshuntexacerbation(), *a);
return a;
}
case CDM_BIND::AnyPatientActionData::ActionCase::kRespiratoryFatigue:
{
SERespiratoryFatigue* a = new SERespiratoryFatigue();
......@@ -1605,6 +1640,12 @@ CDM_BIND::AnyPatientActionData* PBPatientAction::Unload(const SEPatientAction& a
any->set_allocated_pericardialeffusion(PBPatientAction::Unload(*pe));
return any;
}
const SEPulmonaryShuntExacerbation* pse = dynamic_cast<const SEPulmonaryShuntExacerbation*>(&action);
if (pse != nullptr)
{
any->set_allocated_pulmonaryshuntexacerbation(PBPatientAction::Unload(*pse));
return any;
}
const SERespiratoryFatigue* rf = dynamic_cast<const SERespiratoryFatigue*>(&action);
if (rf != nullptr)
{
......
......@@ -29,6 +29,7 @@ CDM_BIND_DECL2(MechanicalVentilation)
CDM_BIND_DECL2(NeedleDecompression)
CDM_BIND_DECL2(PatientAssessmentRequest)
CDM_BIND_DECL2(PericardialEffusion)
CDM_BIND_DECL2(PulmonaryShuntExacerbation)
CDM_BIND_DECL2(RespiratoryFatigue)
CDM_BIND_DECL2(SubstanceBolus)
CDM_BIND_DECL2(SubstanceBolusState)
......@@ -207,6 +208,12 @@ public:
static void Serialize(const SEPericardialEffusion& src, CDM_BIND::PericardialEffusionData& dst);
static void Copy(const SEPericardialEffusion& src, SEPericardialEffusion& dst);
static void Load(const CDM_BIND::PulmonaryShuntExacerbationData& src, SEPulmonaryShuntExacerbation& dst);
static CDM_BIND::PulmonaryShuntExacerbationData* Unload(const SEPulmonaryShuntExacerbation& src);
static void Serialize(const CDM_BIND::PulmonaryShuntExacerbationData& src, SEPulmonaryShuntExacerbation& dst);
static void Serialize(const SEPulmonaryShuntExacerbation& src, CDM_BIND::PulmonaryShuntExacerbationData& dst);
static void Copy(const SEPulmonaryShuntExacerbation& src, SEPulmonaryShuntExacerbation& dst);
static void Load(const CDM_BIND::RespiratoryFatigueData& src, SERespiratoryFatigue& dst);
static CDM_BIND::RespiratoryFatigueData* Unload(const SERespiratoryFatigue& src);
static void Serialize(const CDM_BIND::RespiratoryFatigueData& src, SERespiratoryFatigue& dst);
......
......@@ -21,6 +21,7 @@ POP_PROTO_WARNINGS()
#include "patient/conditions/SEImpairedAlveolarExchange.h"
#include "patient/conditions/SELobarPneumonia.h"
#include "patient/conditions/SEPulmonaryFibrosis.h"
#include "patient/conditions/SEPulmonaryShunt.h"
#include "patient/conditions/SESepsis.h"
void PBPatientCondition::Serialize(const CDM_BIND::PatientConditionData& src, SEPatientCondition& dst)
......@@ -350,6 +351,35 @@ void PBPatientCondition::Copy(const SEPulmonaryFibrosis& src, SEPulmonaryFibrosi
PBPatientCondition::Serialize(data, dst);