#pragma once #include "ResDataObject.h" #define SIZE_Small ("SMALL") #define SIZE_Medium ("MEDIUM") #define SIZE_Large ("LARGE") #define SIZE_Paediatric ("PAEDIATRIC") class STUDAY_INFO : public BaseJsonDataObject { public: BaseJsonDataObject m_PatientName; BaseJsonDataObject m_PatientID; BaseJsonDataObject m_PatientSex; BaseJsonDataObject m_StudyID; BaseJsonDataObject m_OtherPatientIDs; BaseJsonDataObject m_OtherPatientNames; BaseJsonDataObject m_AccessionNumber; BaseJsonDataObject m_StudyDescription; BaseJsonDataObject m_PatientAge; BaseJsonDataObject m_PatientLength; BaseJsonDataObject m_PatientWeight; BaseJsonDataObject m_PatientSize; BaseJsonDataObject m_PatientBirthDate; BaseJsonDataObject m_PatientBirthTime; BaseJsonDataObject m_BodyPart; STUDAY_INFO(void) { SetKey("StudayInfo"); m_PatientName.SetKey("PatientName"); m_PatientID.SetKey("PatientID"); m_PatientSex.SetKey("PatientSex"); m_StudyID.SetKey("StudyID"); m_OtherPatientIDs.SetKey("OtherPatientIDs"); m_OtherPatientNames.SetKey("OtherPatientNames"); m_AccessionNumber.SetKey("AccessionNumber"); m_StudyDescription.SetKey("StudyDescription"); m_PatientAge.SetKey("PatientAge"); m_PatientLength.SetKey("PatientLength"); m_PatientWeight.SetKey("PatientWeight"); m_PatientSize.SetKey("PatientSize"); m_PatientBirthDate.SetKey("PatientBirthDate"); m_PatientBirthTime.SetKey("PatientBirthTime"); m_BodyPart.SetKey("ProcedureGroup"); } virtual ~STUDAY_INFO(void) { } virtual const char *GetVal() { ResDataObject obj; obj.add(m_PatientName.GetKey(), m_PatientName.GetVal()); obj.add(m_PatientID.GetKey(), m_PatientID.GetVal()); obj.add(m_PatientSex.GetKey(), m_PatientSex.GetVal()); obj.add(m_StudyID.GetKey(), m_StudyID.GetVal()); obj.add(m_OtherPatientIDs.GetKey(), m_OtherPatientIDs.GetVal()); obj.add(m_OtherPatientNames.GetKey(), m_OtherPatientNames.GetVal()); obj.add(m_AccessionNumber.GetKey(), m_AccessionNumber.GetVal()); obj.add(m_StudyDescription.GetKey(), m_StudyDescription.GetVal()); obj.add(m_PatientAge.GetKey(), m_PatientAge.GetVal()); obj.add(m_PatientLength.GetKey(), m_PatientLength.GetVal()); obj.add(m_PatientWeight.GetKey(), m_PatientWeight.GetVal()); obj.add(m_PatientSize.GetKey(), m_PatientSize.GetVal()); obj.add(m_PatientBirthDate.GetKey(), m_PatientBirthDate.GetVal()); obj.add(m_PatientBirthTime.GetKey(), m_PatientBirthTime.GetVal()); obj.add(m_BodyPart.GetKey(), m_BodyPart.GetVal()); (m_ValString) = obj.encode(); return m_ValString.c_str(); }; virtual bool SetVal(const char* pValString) { ResDataObject obj; if (obj.decode(pValString)) { int idx; idx = obj.GetFirstOf(m_PatientName.GetKey()); if (idx >= 0) { m_PatientName.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientID.GetKey()); if (idx >= 0) { m_PatientID.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientSex.GetKey()); if (idx >= 0) { m_PatientSex.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_StudyID.GetKey()); if (idx >= 0) { m_StudyID.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_OtherPatientIDs.GetKey()); if (idx >= 0) { m_OtherPatientIDs.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_OtherPatientNames.GetKey()); if (idx >= 0) { m_OtherPatientNames.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_AccessionNumber.GetKey()); if (idx >= 0) { m_AccessionNumber.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_StudyDescription.GetKey()); if (idx >= 0) { m_StudyDescription.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientAge.GetKey()); if (idx >= 0) { m_PatientAge.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientLength.GetKey()); if (idx >= 0) { m_PatientLength.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientWeight.GetKey()); if (idx >= 0) { m_PatientWeight.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientSize.GetKey()); if (idx >= 0) { m_PatientSize.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientBirthDate.GetKey()); if (idx >= 0) { m_PatientBirthDate.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PatientBirthTime.GetKey()); if (idx >= 0) { m_PatientBirthTime.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_BodyPart.GetKey()); if (idx >= 0) { m_BodyPart.SetVal(obj[idx]); } return true; } return false; }; }; class TECHPARAM_INFO : public BaseJsonDataObject { public: BaseJsonDataObject m_CollimatorHeight; BaseJsonDataObject m_CollimatorWidth; BaseJsonDataObject m_CollimatorPosition; BaseJsonDataObject m_CollimatorFilter; BaseJsonDataObject m_SID; BaseJsonDataObject m_PositionNumber; BaseJsonDataObject m_TargetEXI; TECHPARAM_INFO(void) { SetKey("TechParamsInfo"); m_CollimatorHeight.SetKey("CollimatorHeight"); m_CollimatorWidth.SetKey("CollimatorWidth"); m_CollimatorPosition.SetKey("CollimatorCenter"); m_CollimatorFilter.SetKey("CollimatorFilter"); m_SID.SetKey("SID"); m_PositionNumber.SetKey("PositionNumber"); m_TargetEXI.SetKey("TargetEXI"); } virtual ~TECHPARAM_INFO(void) { } virtual const char *GetVal() { ResDataObject obj; obj.add(m_CollimatorHeight.GetKey(), m_CollimatorHeight.GetVal()); obj.add(m_CollimatorWidth.GetKey(), m_CollimatorWidth.GetVal()); obj.add(m_CollimatorPosition.GetKey(), m_CollimatorPosition.GetVal()); obj.add(m_CollimatorFilter.GetKey(), m_CollimatorFilter.GetVal()); obj.add(m_SID.GetKey(), m_SID.GetVal()); obj.add(m_PositionNumber.GetKey(), m_PositionNumber.GetVal()); obj.add(m_TargetEXI.GetKey(), m_TargetEXI.GetVal()); (m_ValString) = obj.encode(); return m_ValString.c_str(); }; virtual bool SetVal(const char* pValString) { ResDataObject obj; if (obj.decode(pValString)) { int idx; idx = obj.GetFirstOf(m_CollimatorHeight.GetKey()); if (idx >= 0) { m_CollimatorHeight.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_CollimatorWidth.GetKey()); if (idx >= 0) { m_CollimatorWidth.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_CollimatorPosition.GetKey()); if (idx >= 0) { m_CollimatorPosition.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_CollimatorFilter.GetKey()); if (idx >= 0) { m_CollimatorFilter.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_SID.GetKey()); if (idx >= 0) { m_SID.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_PositionNumber.GetKey()); if (idx >= 0) { m_PositionNumber.SetVal(obj[idx]); } idx = obj.GetFirstOf(m_TargetEXI.GetKey()); if (idx >= 0) { m_TargetEXI.SetVal(obj[idx]); } return true; } return false; }; };