12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096 |
- //---------------------------------------------------------------------------------------
- //
- // Copyright (c) 2005,珠海友通科技有限公司——通用型DROC
- // All rights reserved.
- //
- // 文件名称:CommonData.h
- // 文件标识:见配置管理计划书
- // 摘 要:系统之间需要传递的数据主要有病人信息、访问信息、检查信息、图像信息、
- // 图像数据、硬件数据、站点数据,这里对这些数据结构进行一一定义。同时还有公
- // 共的消息定义,以方便模块之间传递消息
- //
- // 当前版本:0.1
- // 作 者:吕国政
- // 完成日期:2005年1月10日
- //
- // 取代版本:
- // 原 作 者:
- // 完成日期:
- //
- //---------------------------------------------------------------------------------------
- #pragma once
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_PATIENT
- // 结构说明:用于保存病人信息,病人信息来源于worklist或者技师手工输入。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPatientInfo
- {
- CString strPatientID; // 病人标示码
- CString strPatientName; // 病人姓名
- CString strOtherPatientID; // 病人其他标示码
- CString strOtherPatientName; // 病人其他姓名
- CString strAge; // 年龄
- CString strOccupation; // 职业
- CString strSex; // 性别
- CString strMedicalAlert; // 药物警告
- CString strContrastAllergies; // 造影剂过敏
- CString strSmokingStatus; // 吸烟状态
- CString strPatientComments; // 评论
- CString strPatientHistory; // 病史
- CString strPregnancyStatus; // 怀孕状态
- CString strSpecialNeeds; // 特殊需要
- CString strPatientState; // 病人状态
- CString strPatientStatus; // 如果病人有任意一个未完成的检查,则病人的状态为:未完成。
- CString strDob; // 生日 YYYYMMDD
- COleDateTime dtDob; // 生日 YYYYMMDD
- COleDateTime dtLastMenstrualDate; // 最近一次月经时间
- //code begin 20150611 for IMIX
- CString strPatientSize; //病人体型
- CString strAccessionNumber; //
- CString strStudyID; //StudyID
- //code end 20150611 for IMIX
- CString strReserve1;
- CString strReserve2;
- CString strReserve3;
- CString strStudyDescription; // study 描述 20150724
- tagPatientInfo& operator =(const tagPatientInfo &patient)
- {
- //CString::CopyChars(strPatientID, patient.strPatientID, patient.strPatientID.GetLength());
- strPatientID.Format("%s", patient.strPatientID);
- strPatientName.Format("%s", patient.strPatientName);
- strOtherPatientID.Format("%s", patient.strOtherPatientID);
- strOtherPatientName.Format("%s", patient.strOtherPatientName);
- strAge.Format("%s", patient.strAge);
- strSex.Format("%s", patient.strSex);
- strOccupation.Format("%s", patient.strOccupation);
- strMedicalAlert.Format("%s", patient.strMedicalAlert);
- strContrastAllergies.Format("%s", patient.strContrastAllergies);
- strSmokingStatus.Format("%s", patient.strSmokingStatus);
- strPatientComments.Format("%s", patient.strPatientComments);
- strPatientHistory.Format("%s", patient.strPatientHistory);
- strPregnancyStatus.Format("%s", patient.strPregnancyStatus);
- strSpecialNeeds.Format("%s", patient.strSpecialNeeds);
- strPatientState.Format("%s", patient.strPatientState);
- strPatientStatus.Format("%s", patient.strPatientStatus);
- strReserve1.Format("%s", patient.strReserve1);
- strReserve2.Format("%s", patient.strReserve2);
- strReserve3.Format("%s", patient.strReserve3);
- strDob.Format("%s", patient.strDob);
- dtDob = patient.dtDob;
- dtLastMenstrualDate = patient.dtLastMenstrualDate;
- strStudyDescription.Format("%s",patient.strStudyDescription); //code 20150724
- //code begin 20150611 for IMIX
- strPatientSize.Format("%s", patient.strPatientSize);
- strAccessionNumber.Format("%s", patient.strAccessionNumber);
- strStudyID.Format("%s", patient.strStudyID);
- //code end 20150611 for IMIX
- return *this;
- }
- }ECOM_PATIENT;
- typedef struct tagPatientInfoEx
- {
- int nPatientIDProperty; // 病人标示码属性 0:可不添, 1:必填, -1:内容不正确
- int nPatientNameProperty; // 病人姓名属性 0:可不添, 1:必填
- int nOtherPatientIDProperty; // 病人其他标示码属性 0:可不添, 1:必填
- int nOtherPatientNameProperty; // 病人其他姓名属性 0:可不添, 1:必填
- int nAgeProperty; // 年龄属性 0:可不添, 1:必填
- int nOccupationProperty; // 职业属性 0:可不添, 1:必填
- int nSexProperty; // 性别属性 0:可不添, 1:必填
- int nMedicalAlertProperty; // 药物警告属性 0:可不添, 1:必填
- int nContrastAllergiesProperty; // 造影剂过敏属性 0:可不添, 1:必填
- int nSmokingStatusProperty; // 吸烟状态属性 0:可不添, 1:必填
- int nPatientCommentsProperty; // 评论属性 0:可不添, 1:必填
- int nPatientHistoryProperty; // 病史属性 0:可不添, 1:必填
- int nPregnancyStatusProperty; // 怀孕状态属性 0:可不添, 1:必填
- int nSpecialNeedsProperty; // 特殊需要属性 0:可不添, 1:必填
- int nPatientStateProperty; // 病人状态属性 0:可不添, 1:必填
- int nPatientStatusProperty; // 如果病人有任意一个未完成的检查,则病人的状态为:未完成。属性 0:可不添, 1:必填
- int dtDobProperty; // 生日属性 0:可不添, 1:必填
- int dtLastMenstrualDateProperty; // 最近一次月经时间属性 0:可不添, 1:必填
- ECOM_PATIENT Patient;
- }ECOM_PATIENTEX;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_VISIT
- // 结构说明:用于保存访问信息,访问信息来源于worklist或者技师手工输入。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagVisitInfo
- {
- CString strAdmissionID; // 分配ID
- CString strVisitStatus; //
- CString strVisitComments; //
- CString strRefPhysician; // 下医嘱医师
- COleDateTime dtAdmittingTime; // 注册时间
- COleDateTime dtVisitDate; // 检查任务到modality的时间
- CString strReserve1;
- CString strReserve2;
- CString strReserve3;
- tagVisitInfo& operator =(const tagVisitInfo &visit)
- {
- //CString::CopyChars(strPatientID, patient.strPatientID, patient.strPatientID.GetLength());
- strAdmissionID.Format("%s", visit.strAdmissionID);
- strVisitStatus.Format("%s", visit.strVisitStatus);
- strVisitComments.Format("%s", visit.strVisitComments);
- strRefPhysician.Format("%s", visit.strRefPhysician);
- dtAdmittingTime = visit.dtAdmittingTime;
- dtVisitDate = visit.dtVisitDate;
- strReserve1.Format("%s", visit.strReserve1);
- strReserve2.Format("%s", visit.strReserve2);
- strReserve3.Format("%s", visit.strReserve3);
-
- return *this;
- }
- }ECOM_VISIT;
- typedef struct tagVisitInfoEx
- {
- int nAdmissionIDProperty; // 分配ID属性 0:可不添, 1:必填, -1:内容不正确
- int nVisitStatusProperty; // 属性 0:可不添, 1:必填
- int nVisitCommentsProperty; // 属性 0:可不添, 1:必填
- int nRefPhysicianProperty; // 下医嘱医师属性 0:可不添, 1:必填
- int nAdmittingTimeProperty; // 注册时间属性 0:可不添, 1:必填
- int nVisitDateProperty; // 检查任务到modality的时间属性 0:可不添, 1:必填
- ECOM_VISIT Visit;
- }ECOM_VISITEX;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_STUDY
- // 结构说明:用于保存检查信息,检查信息来源于worklist或者技师手工输入。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagStudyInfo
- {
- CString strStudyID; // Study内部标示
- CString strPatientID; // 病人标示码
- CString strAdmissionID; // 分配ID
- CString strAccessionNum; // 访问标示码
- CString strStudyInstanceUID; //
- CString strScheduledAETitle; //
- CString strRegSource; //
- CString strStudyStatus; //
- CString strStudyPriority; //
- CString strStudyComments; //
- CString strRequestingPhysician; //
- CString strRequestedProcedureDescription; //
- CString strRequestedContrasAgent; //
- CString strScheduledProcedureStepID; //
- CString strScheduledProcedureStepDescription; //
- CString strRequestedProcedureID; //
- CString strPreMedication; //
- CString strProcedureCode; //
- CString strProcedureCodeValue; //
- CString strProcedureCodeMeaning; //
- CString strMPPSInstanceUID; //
- CString strMPPSStatus;
- CString strModality;
- CString strOperatorName; // 技师名字
- COleDateTime dtScheduledStartDateTime; //
- COleDateTime dtStudyStartDateTime; //
- COleDateTime dtStudyCompletionDateTime; //
- CString strReserve1;
- CString strReserve2;
- CString strReserve3;
- tagStudyInfo& operator =(const tagStudyInfo &study)
- {
- strStudyID.Format("%s", study.strStudyID);
- strPatientID.Format("%s", study.strPatientID);
- strAdmissionID.Format("%s", study.strAdmissionID);
- strAccessionNum.Format("%s", study.strAccessionNum);
- strStudyInstanceUID.Format("%s", study.strStudyInstanceUID);
- strScheduledAETitle.Format("%s", study.strScheduledAETitle);
- strRegSource.Format("%s", study.strRegSource);
- strStudyStatus.Format("%s", study.strStudyStatus);
- strStudyPriority.Format("%s", study.strStudyPriority);
- strStudyComments.Format("%s", study.strStudyComments);
- strRequestingPhysician.Format("%s", study.strRequestingPhysician);
- strRequestedProcedureDescription.Format("%s", study.strRequestedProcedureDescription);
- strRequestedContrasAgent.Format("%s", study.strRequestedContrasAgent);
- strScheduledProcedureStepID.Format("%s", study.strScheduledProcedureStepID);
- strScheduledProcedureStepDescription.Format("%s", study.strScheduledProcedureStepDescription);
- strRequestedProcedureID.Format("%s", study.strRequestedProcedureID);
- strPreMedication.Format("%s", study.strPreMedication);
- strProcedureCode.Format("%s", study.strProcedureCode);
- strProcedureCodeValue.Format("%s", study.strProcedureCodeValue);
- strProcedureCodeMeaning.Format("%s", study.strProcedureCodeMeaning);
- strMPPSInstanceUID.Format("%s", study.strMPPSInstanceUID);
- strMPPSStatus.Format("%s", study.strMPPSStatus);
- strModality.Format("%s", study.strModality);
- strOperatorName.Format("%s", study.strOperatorName);
- dtScheduledStartDateTime = study.dtScheduledStartDateTime;
- dtStudyStartDateTime = study.dtStudyStartDateTime;
- dtStudyCompletionDateTime = study.dtStudyCompletionDateTime;
- strReserve1.Format("%s", study.strReserve1);
- strReserve2.Format("%s", study.strReserve2);
- strReserve3.Format("%s", study.strReserve3);
-
- return *this;
- }
- }ECOM_STUDY;
- typedef struct tagStudyInfoEx
- {
- int nStudyIDProperty; // Study内部标示属性 0:可不添, 1:必填, -1:内容不正确
- int nPatientIDProperty; // 病人标示码属性 0:可不添, 1:必填, -1:内容不正确
- int nAdmissionIDProperty; // 分配ID属性 0:可不添, 1:必填, -1:内容不正确
- int nAccessionNumProperty; // 访问标示码属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyInstanceUIDProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nScheduledAETitleProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nRegSourceProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyStatusProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyPriorityProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyCommentsProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestingPhysicianProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestedProcedureDescriptionProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestedContrasAgentProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nScheduledProcedureStepIDProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nScheduledProcedureStepDescriptionProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestedProcedureIDProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nPreMedicationProperty; //属性 0:可不添, 1:必填, -1:内容不正确
- int nProcedureCodeProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nProcedureCodeValueProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nProcedureCodeMeaningProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nMPPSInstanceUIDProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nMPPSStatusProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nModalityProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nOperatorNameProperty; // 属性 0:可不添, 1:必填, -1:内容不正确 // 技师名字
-
- int nScheduledStartDateTimeProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyStartDateTimeProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyCompletionDateTimeProperty; //属性 0:可不添, 1:必填, -1:内容不正确
- ECOM_STUDY Study;
- }ECOM_STUDYEX;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_WORK
- // 结构说明:用于一条检查相关的所有信息,包括病人信息,检查信息,(不包括 访问信息)
- // 这些信息来源于worklist或者技师手工输入。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagWorkInfo
- {
- CString strStudyID;
- CString strAccessionNum;
- CString strPatientID;
- CString strPatientName;
- CString strOtherPatientID;
- CString strOtherPatientName;
- CString strAge;
- CString strOccupation;
- CString strSex;
- CString strMedicalAlert;
- CString strContrastAllergies;
- CString strSmokingStatus;
- CString strPatientComments;
- CString strPatientHistory;
- CString strPregnancyStatus;
- CString strSpecialNeeds;
- CString strPatientState;
- CString strAdmissionID;
- CString strVisitStatus;
- CString strVisitComments;
- CString strRefPhysician;
- CString strStudyInstanceUID;
- CString strScheduledAETitle;
- CString strRegSource;
- CString strStudyStatus;
- CString strStudyPriority;
- CString strStudyComments;
- CString strRequestingPhysician;
- CString strRequestedProcedureDescription;
- CString strRequestedContrasAgent;
- CString strScheduledProcedureStepID;
- CString strScheduledProcedureStepDescription;
- CString strRequestedProcedureID;
- CString strPreMedication;
- CString strProcedureCode;
- CString strProcedureCodeValue;
- CString strProcedureCodeMeaning;
- CString strMPPSInstanceUID;
- CString strMPPSStatus;
- CString strModality;
- CString strOperatorName; // 技师名字
- COleDateTime dtDob;
- COleDateTime dtLastMenstrualDate;
- COleDateTime dtAdmittingTime;
- COleDateTime dtVisitDate;
- COleDateTime dtScheduledStartDateTime;
- COleDateTime dtStudyStartDateTime;
- COleDateTime dtStudyCompletionDateTime;
- CString strReserve1;
- CString strReserve2;
- CString strReserve3;
- tagWorkInfo& operator =(const tagWorkInfo &work)
- {
- strStudyID.Format("%s", work.strStudyID);
- strAccessionNum.Format("%s", work.strAccessionNum);
- strPatientID.Format("%s", work.strPatientID);
- strPatientName.Format("%s", work.strPatientName);
- strOtherPatientID.Format("%s", work.strOtherPatientID);
- strOtherPatientName.Format("%s", work.strOtherPatientName);
- strAge.Format("%s", work.strAge);
- strOccupation.Format("%s", work.strOccupation);
- strSex.Format("%s", work.strSex);
- strMedicalAlert.Format("%s", work.strMedicalAlert);
- strContrastAllergies.Format("%s", work.strContrastAllergies);
- strSmokingStatus.Format("%s", work.strSmokingStatus);
- strPatientComments.Format("%s", work.strPatientComments);
- strPatientHistory.Format("%s", work.strPatientHistory);
- strPregnancyStatus.Format("%s", work.strPregnancyStatus);
- strSpecialNeeds.Format("%s", work.strSpecialNeeds);
- strPatientState.Format("%s", work.strPatientState);
- strAdmissionID.Format("%s", work.strAdmissionID);
- strVisitStatus.Format("%s", work.strVisitStatus);
- strVisitComments.Format("%s", work.strVisitComments);
- strRefPhysician.Format("%s", work.strRefPhysician);
-
- strStudyInstanceUID.Format("%s", work.strStudyInstanceUID);
- strScheduledAETitle.Format("%s", work.strScheduledAETitle);
- strRegSource.Format("%s", work.strRegSource);
- strStudyStatus.Format("%s", work.strStudyStatus);
- strStudyPriority.Format("%s", work.strStudyPriority);
- strStudyComments.Format("%s", work.strStudyComments);
- strRequestingPhysician.Format("%s", work.strRequestingPhysician);
- strRequestedProcedureDescription.Format("%s", work.strRequestedProcedureDescription);
- strRequestedContrasAgent.Format("%s", work.strRequestedContrasAgent);
- strScheduledProcedureStepID.Format("%s", work.strScheduledProcedureStepID);
- strScheduledProcedureStepDescription.Format("%s", work.strScheduledProcedureStepDescription);
- strRequestedProcedureID.Format("%s", work.strRequestedProcedureID);
- strPreMedication.Format("%s", work.strPreMedication);
- strProcedureCode.Format("%s", work.strProcedureCode);
- strProcedureCodeValue.Format("%s", work.strProcedureCodeValue);
- strProcedureCodeMeaning.Format("%s", work.strProcedureCodeMeaning);
-
- strMPPSInstanceUID.Format("%s", work.strMPPSInstanceUID);
- strMPPSStatus.Format("%s", work.strMPPSStatus);
- strModality.Format("%s", work.strModality);
- strOperatorName.Format("%s", work.strOperatorName);
-
- dtDob = work.dtDob;
- dtLastMenstrualDate = work.dtLastMenstrualDate;
- dtAdmittingTime = work.dtAdmittingTime;
- dtVisitDate = work.dtVisitDate;
- dtScheduledStartDateTime = work.dtScheduledStartDateTime;
- dtStudyStartDateTime = work.dtStudyStartDateTime;
- dtStudyCompletionDateTime = work.dtStudyCompletionDateTime;
- strReserve1.Format("%s", work.strReserve1);
- strReserve2.Format("%s", work.strReserve2);
- strReserve3.Format("%s", work.strReserve3);
-
- return *this;
- }
- }ECOM_WORK;
- typedef struct tagWorkInfoEX
- {
- int nStudyIDProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nAccessionNumProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nPatientIDProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nPatientNameProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nOtherPatientIDProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nOtherPatientNameProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nAgeProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nOccupationProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nSexProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nMedicalAlertProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nContrastAllergiesProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nSmokingStatusProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nPatientCommentsProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nPatientHistoryProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nPregnancyStatusProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nSpecialNeedsProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nPatientStateProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nAdmissionIDProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nVisitStatusProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nVisitCommentsProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nRefPhysicianProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyInstanceUIDProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nScheduledAETitleProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nRegSourceProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyStatusProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyPriorityProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyCommentsProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestingPhysicianProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestedProcedureDescriptionProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestedContrasAgentProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nScheduledProcedureStepIDProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nScheduledProcedureStepDescriptionProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nRequestedProcedureIDProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nPreMedicationProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nProcedureCodeProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nProcedureCodeValueProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nProcedureCodeMeaningProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nMPPSInstanceUIDProperty; //属性 0:可不添, 1:必填, -1:内容不正确
- int nMPPSStatusProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nModalityProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nOperatorNameProperty; // 属性 0:可不添, 1:必填, -1:内容不正确
- int nDobProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nLastMenstrualDateProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nAdmittingTimeProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nVisitDateProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nScheduledStartDateTimeProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyStartDateTimeProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- int nStudyCompletionDateTimeProperty;//属性 0:可不添, 1:必填, -1:内容不正确
- ECOM_WORK Work;
- }ECOM_WORKEX;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_SERIESIMAGE
- // 结构说明:用于study对应的series和image信息,这些信息由程序根据检查生成。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagSeriesImageInfo
- {
- CString strStudyID; // Study内部标示
- CString strSeriesInstanceUID; //
- CString strViewID; //
- CString strPrimarySopUID; // 原始图文件uid
- CString strSecondarySopUID; // 处理后文件uid
- CString strImageSendStatus; //
- CString strImagePrintStatus; //
- CString strImageComments;
- CString strReserve1; //
- CString strReserve2; //
- CString strReserve3; //
- CString strReserve4; //
- CString strReserve5; //
- COleDateTime dtSeriesStartDateTime; // Series开始日期时间
- COleDateTime dtSeriesCompletionDateTime; // Series结束日期时间
- COleDateTime dtImageAcqDateTime; // 获取图像的时期时间
- tagSeriesImageInfo& operator =(const tagSeriesImageInfo &SeriesImage)
- {
- strStudyID.Format("%s", SeriesImage.strStudyID);
- strSeriesInstanceUID.Format("%s", SeriesImage.strSeriesInstanceUID);
- strViewID.Format("%s", SeriesImage.strViewID);
- strPrimarySopUID.Format("%s", SeriesImage.strPrimarySopUID);
-
- strSecondarySopUID.Format("%s", SeriesImage.strSecondarySopUID);
- strImageSendStatus.Format("%s", SeriesImage.strImageSendStatus);
- strImagePrintStatus.Format("%s", SeriesImage.strImagePrintStatus);
- strImageComments.Format("%s", SeriesImage.strImageComments);
- strReserve1.Format("%s", SeriesImage.strReserve1);
- strReserve2.Format("%s", SeriesImage.strReserve2);
- strReserve3.Format("%s", SeriesImage.strReserve3);
- strReserve4.Format("%s", SeriesImage.strReserve4);
- strReserve5.Format("%s", SeriesImage.strReserve5);
-
- dtSeriesStartDateTime = SeriesImage.dtSeriesStartDateTime;
- dtSeriesCompletionDateTime = SeriesImage.dtSeriesCompletionDateTime;
- dtImageAcqDateTime = SeriesImage.dtImageAcqDateTime;
- return *this;
- }
- }ECOM_SERIES_IMAGE;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_USER
- // 结构说明:用于根据用户信息和时间统计出来的工作信息。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagUserInfo
- {
- CString strUserID; // 用户编号(缩写),这个编号会和标记一起加入到图像中
- CString strUserName; // 用户姓名
- CString strPassword; // 密码
- CString strUserLevel; // 用户权限
- CString strDefaultUser; // default user
- CString strReserve1;
- CString strReserve2;
-
- tagUserInfo& operator =(const tagUserInfo &UserInfo)
- {
- strUserID.Format("%s", UserInfo.strUserID);
- strUserName.Format("%s", UserInfo.strUserName);
- strPassword.Format("%s", UserInfo.strPassword);
- strUserLevel.Format("%s", UserInfo.strUserLevel);
- strDefaultUser.Format("%s", UserInfo.strDefaultUser);
- strReserve1.Format("%s", UserInfo.strReserve1);
- strReserve2.Format("%s", UserInfo.strReserve2);
- return *this;
- }
- }ECOM_USER;
- typedef struct tagUserInfoEx
- {
- int nUserIDProperty; // 用户编号(缩写),这个编号会和标记一起加入到图像中属性 0:可不添, 1:必填, -1:内容不正确
- int nUserNameProperty; // 用户姓名属性 0:可不添, 1:必填, -1:内容不正确
- int nPasswordProperty; // 密码属性 0:可不添, 1:必填, -1:内容不正确
- int nUserLevelProperty; // 用户权限属性 0:可不添, 1:必填, -1:内容不正确
- ECOM_USER User;
- }ECOM_USEREX;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_STATISTIC
- // 结构说明:用来保存图像数据。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagStatisticInfo
- {
- CString strUserID; // 用户编号(缩写),这个编号会和标记一起加入到图像中
- int nPatientCount; // 完成病人的个数
- int nAcceptedImageCount; // 接受的图像的个数
- int nRejectedImageCount; // 拒绝图像的个数
- COleDateTime dtStatisticDate;
- tagStatisticInfo& operator =(const tagStatisticInfo &StatisInfo)
- {
- strUserID.Format("%s", StatisInfo.strUserID);
- nPatientCount = StatisInfo.nPatientCount;
- nAcceptedImageCount = StatisInfo.nAcceptedImageCount;
- dtStatisticDate = StatisInfo.dtStatisticDate;
- return *this;
- }
- }ECOM_STATISTIC;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_STATISTIC_CRITERIA
- // 结构说明:用来构造查询 统计 信息的条件。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagStatisticCriteria
- {
- CString strUserID;
-
- COleDateTime dtStatisticStartTime;
- COleDateTime dtStatisticEndTime;
- tagStatisticCriteria& operator =(const tagStatisticCriteria &StatisticCriteria)
- {
- strUserID.Format("%s", StatisticCriteria.strUserID);
- dtStatisticStartTime = StatisticCriteria.dtStatisticStartTime;
- dtStatisticEndTime = StatisticCriteria.dtStatisticEndTime;
- return *this;
- }
- }ECOM_STATISTIC_CRITERIA;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_REJECTIMG_INFO
- // 结构说明:用来保存被拒绝的图像信息。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagRejectImgInfo
- {
- CString strImagePrimarySopUID; // uid,唯一的标识一幅图像
- CString strRejectReason; // 拒绝的原因
- CString strProcedureCodeValue; //检查协议码
- CString strProcedureCodeDesc; //检查协议说明
- CString strViewID; //检查体位码
- CString strViewDesc; //检查体位说明
- CString strBodyPart; //检查部位说明
- CString strUserID; //技师ID
- COleDateTime dtImageDateTime; //图像生成时间
- tagRejectImgInfo& operator =(const tagRejectImgInfo &RejectImgInfo)
- {
- strImagePrimarySopUID.Format("%s", RejectImgInfo.strImagePrimarySopUID);
- strRejectReason.Format("%s", RejectImgInfo.strRejectReason);
- strProcedureCodeValue.Format("%s", RejectImgInfo.strProcedureCodeValue);
- strProcedureCodeDesc.Format("%s", RejectImgInfo.strProcedureCodeDesc);
- strViewID.Format("%s", RejectImgInfo.strViewID);
- strViewDesc.Format("%s", RejectImgInfo.strViewDesc);
- strBodyPart.Format("%s", RejectImgInfo.strBodyPart);
- strUserID.Format("%s", RejectImgInfo.strUserID);
- dtImageDateTime = RejectImgInfo.dtImageDateTime;
- return *this;
- }
- }ECOM_REJECTIMG_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_INFO
- // 结构说明:用来保存图像数据。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImgInfo
- {
- int nWidth; // 影像宽
- int nHeight; // 影像高
- int nBits; // 影像大小(总数据位)
- WORD *pwData; // 影像数据结构头指针
- }ECOM_IMAGE_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_NEW_IMAGE_INFO
- // 结构说明:用来保存图像数据。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagNewImgInfo
- {
- int nWidth; // 影像宽
- int nHeight; // 影像高
- int nBits; // 影像大小(总数据位)
- CString strImageIndex; //
- CString strHeader; // 图像头
- WORD *pwData; // 影像数据结构头指针
- }ECOM_NEW_IMAGE_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_CALIB_INFO
- // 结构说明:用来保存图像数据。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagCaliInfo
- {
-
- int nPanelIndex;
- int nCalibrationIndex;
- char *strDetectorType;
- }ECOM_CALIB_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_ICON_INFO
- // 结构说明:用来保存图像数据。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagIconInfo
- {
- int nWidth; // 影像宽
- int nHeight; // 影像高
- CString strSOPUID; // UID
- BYTE *pData; // 影像数据结构头指针
- tagIconInfo& operator =(const tagIconInfo &IconInfo)
- {
- nWidth = IconInfo.nWidth;
- nHeight = IconInfo.nHeight;
-
- strSOPUID.Format("%s", IconInfo.strSOPUID);
- pData = IconInfo.pData;
-
- //if(pData) delete [] pData;
- //if(IconInfo.pData)
- //{
- // pData = new BYTE [nWidth*nHeight];
- // memcpy(pData, IconInfo.pData, nWidth*nHeight*sizeof(BYTE));
- //}
- //else
- //{
- // pData = NULL;
- //}
- return *this;
- }
- }ECOM_ICON_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_PANEL_INFO
- // 说明说明:用来保存图像数据。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPanelInfo
- {
- int nColumn; // 影像宽
- int nRow; // 影像高
- int nBits; // 影像大小(总数据位)
- float fDetectorTemprature;
- float fDetectorElementPhysicalSize;
- float fDetectorElementSpacing;
- CString strDetectorType;
- CString strDetectorID;
- CString strDetectorBinning;
- COleDateTime dtLastCalibrationDateTime;
- tagPanelInfo& operator =(const tagPanelInfo &PanelInfo)
- {
- nColumn = PanelInfo.nColumn;
- nRow = PanelInfo.nRow;
- nBits = PanelInfo.nBits;
- fDetectorTemprature = PanelInfo.fDetectorTemprature;
- fDetectorElementPhysicalSize = PanelInfo.fDetectorElementPhysicalSize;
- fDetectorElementSpacing = PanelInfo.fDetectorElementSpacing;
- strDetectorType.Format("%s", PanelInfo.strDetectorType);
- strDetectorID.Format("%s", PanelInfo.strDetectorID);
- strDetectorBinning.Format("%s", PanelInfo.strDetectorBinning);
- dtLastCalibrationDateTime = PanelInfo.dtLastCalibrationDateTime;
- return *this;
- }
- }ECOM_PANEL_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_NETWORK_NODE
- // 结构说明:用来保存网络中各个服务器结点的基本信息:
- // 如:网络实体名、IP地址、端口号、设备名、描述等信息。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagNetworkNode
- {
- CString strHostName;
- CString strHostIP;
- CString strHostPort;
- CString strAETitle;
- CString strDescription;
- CString strState;
- tagNetworkNode& operator =(const tagNetworkNode &NetWorkNode)
- {
- strHostName.Format("%s", NetWorkNode.strHostName);
- strHostIP.Format("%s", NetWorkNode.strHostIP);
- strHostPort.Format("%s", NetWorkNode.strHostPort);
- strAETitle.Format("%s", NetWorkNode.strAETitle);
- strDescription.Format("%s", NetWorkNode.strDescription);
- strState.Format("%s", NetWorkNode.strState);
- return *this;
- }
- }ECOM_NETWORK_NODE;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_NETWORK_NODE
- // 结构说明:用来保存网络中各个服务器结点的基本信息:
- // 如:网络实体名、IP地址、端口号、设备名、描述等信息。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPACSEntity : public ECOM_NETWORK_NODE
- {
- CString strModality;
- CString strDefault;
- tagPACSEntity& operator =(const tagPACSEntity &PACSEntity)
- {
- strModality.Format("%s", PACSEntity.strModality);
- strDefault.Format("%s", PACSEntity.strDefault);
- return *this;
- }
- }ECOM_PACS_ENTITY;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_WORKLIST_CONFIGURE
- // 结构说明:用来配置 worklist 中的数据信息。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagWorklistInfo
- {
- UINT16 unGroup;
- UINT16 unElement;
- UINT16 unPGroup;
- UINT16 unPElement;
- int nUsed;
- }ECOM_WORKLIST_CONFIGURE;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_WORKLIST
- // 结构说明:用来配置 worklist 中的数据信息。, for dataflow, not for UI and worflow
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagWorklistCriteria
- {
- CString strPatientID;
- CString strPatientName;
- CString strAccessionNum;
- COleDateTime dtStartTime;
- COleDateTime dtEndTime;
- }ECOM_WORKLIST_CRITERIA;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_WORK_QUERY_CRITERIA
- // 结构说明:用来构造查询 Work 信息的条件。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagWorkQueryCriteria
- {
- CString strPatientID;
- CString strPatientName;
- CString strOtherPatientID;
- CString strOtherPatientName;
- CString strAccessionNum;
- CString strStudyID;
- CString strAdmissionID; // for query by AdmissionID
- CString strRegSource;
- CString strStudyState;
- COleDateTime dtAdmittingStartTime;
- COleDateTime dtAdmittingEndTime;
- COleDateTime dtStudyCompletionDateTime;
- tagWorkQueryCriteria& operator =(const tagWorkQueryCriteria &WorkQueryCriteria)
- {
- strPatientID.Format("%s", WorkQueryCriteria.strPatientID);
- strPatientName.Format("%s", WorkQueryCriteria.strPatientName);
- strOtherPatientID.Format("%s", WorkQueryCriteria.strOtherPatientID);
- strOtherPatientName.Format("%s", WorkQueryCriteria.strOtherPatientName);
- strAccessionNum.Format("%s", WorkQueryCriteria.strAccessionNum);
- strStudyID.Format("%s", WorkQueryCriteria.strStudyID);
- strAdmissionID.Format("%s", WorkQueryCriteria.strAdmissionID);
- strRegSource.Format("%s", WorkQueryCriteria.strRegSource);
- strStudyState.Format("%s", WorkQueryCriteria.strStudyState);
-
- dtAdmittingStartTime = WorkQueryCriteria.dtAdmittingStartTime;
- dtAdmittingEndTime = WorkQueryCriteria.dtAdmittingEndTime;
- dtStudyCompletionDateTime = WorkQueryCriteria.dtStudyCompletionDateTime;
- return *this;
- }
- }ECOM_WORK_QUERY_CRITERIA;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_SENDFILEQUEUE_ITEM
- // 结构说明:用来保存图像发送队列
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagSendFileQueueItem
- {
- CString strInstanceCreatorUID;
- CString strPatientID;
- CString strPatientName;
- CString strAccessionNumber;
- CString strSOPInstanceUID;
- COleDateTime dtImageDateTime;
- COleDateTime dtQueueScheduleStartDateTime;
- COleDateTime dtQueueIssueDateTime;
- COleDateTime dtQueueCompleteDateTime;
- CString strQueuePriority;
- CString strQueueStatus;
- CString strRemoteAETitle ;
- CString strRetryTimes ;
- tagSendFileQueueItem& operator =(const tagSendFileQueueItem &SendFileQueueItem)
- {
- strInstanceCreatorUID.Format("%s", SendFileQueueItem.strInstanceCreatorUID);
- strPatientID.Format("%s", SendFileQueueItem.strPatientID);
- strPatientName.Format("%s", SendFileQueueItem.strPatientName);
- strAccessionNumber.Format("%s", SendFileQueueItem.strAccessionNumber);
- strSOPInstanceUID.Format("%s", SendFileQueueItem.strSOPInstanceUID);
- strQueuePriority.Format("%s", SendFileQueueItem.strQueuePriority);
- strQueueStatus.Format("%s", SendFileQueueItem.strQueueStatus);
- strRemoteAETitle.Format("%s", SendFileQueueItem.strRemoteAETitle);
- strRetryTimes.Format("%s", SendFileQueueItem.strRetryTimes);
- dtImageDateTime = SendFileQueueItem.dtImageDateTime;
- dtQueueIssueDateTime = SendFileQueueItem.dtQueueIssueDateTime;
- dtQueueIssueDateTime = SendFileQueueItem.dtQueueIssueDateTime;
- dtQueueCompleteDateTime = SendFileQueueItem.dtQueueCompleteDateTime;
- return *this;
- }
- }ECOM_SENDFILE_QUEUE_ITEM;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_PRINTQUEUE_ITEM
- // 结构说明:用来保存图像发送队列
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPrintQueueItem
- {
- CString strReferencedSOPInstanceUID;
- CString strPatientID;
- CString strPatientName;
- CString strAccessionNumber;
- CString strBodyPartExamined;
- COleDateTime dtQueueScheduleStartDateTime;
- COleDateTime dtQueueScheduleEndDateTime;
- COleDateTime dtQueueIssueDateTime;
- COleDateTime dtQueueCompleteDateTime;
- CString strQueuePriority;
- CString strQueueStatus;
- CString strRemoteAETitle ;
- CString strRetryTimes ;
- tagPrintQueueItem& operator =(const tagPrintQueueItem &PrintQueueItem)
- {
- strReferencedSOPInstanceUID.Format("%s", PrintQueueItem.strReferencedSOPInstanceUID);
- strPatientID.Format("%s", PrintQueueItem.strPatientID);
- strPatientName.Format("%s", PrintQueueItem.strPatientName);
- strAccessionNumber.Format("%s", PrintQueueItem.strAccessionNumber);
- strBodyPartExamined.Format("%s", PrintQueueItem.strBodyPartExamined);
- strQueuePriority.Format("%s", PrintQueueItem.strQueuePriority);
- strQueueStatus.Format("%s", PrintQueueItem.strQueueStatus);
- strRemoteAETitle.Format("%s", PrintQueueItem.strRemoteAETitle);
- strRetryTimes.Format("%s", PrintQueueItem.strRetryTimes);
- dtQueueScheduleStartDateTime = PrintQueueItem.dtQueueScheduleStartDateTime;
- dtQueueScheduleEndDateTime = PrintQueueItem.dtQueueScheduleEndDateTime;
- dtQueueIssueDateTime = PrintQueueItem.dtQueueIssueDateTime;
- dtQueueCompleteDateTime = PrintQueueItem.dtQueueCompleteDateTime;
- return *this;
- }
- }ECOM_PRINT_QUEUE_ITEM;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_PROCEDURE
- // 结构说明:读取系统 Protocol 中的 Procedure 信息。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagProtocolProcedure
- {
- CString strProcedureCode;
- CString strProcedureName;
- CString strProcedureFastName; //new added, for fast input/search procedure
- CString strProcedureDescription; //for local language
- CString strBodyPart;
- CString strBodyPartDescription; //new added, for local language
- CString strOftenUsed;
- CString strTrueSize;
- CString strFilmOrientation;
- CString strFilmSize;
- CString strPrintFormat;
- //code begin 20091105
- CString strStitchingPID;
- CString strStitchingOverlap;
- CString strStitchingDirection;
- CString strStitchingType;
- CString strStitchingLength;
- CString strInitialPosition;
- //code end 20091105
- vector<CString> vectorChildView;
- tagProtocolProcedure& operator =(const tagProtocolProcedure &ProtocolProcedure)
- {
- strProcedureCode.Format("%s", ProtocolProcedure.strProcedureCode);
- strProcedureName.Format("%s", ProtocolProcedure.strProcedureName);
- strProcedureFastName.Format("%s", ProtocolProcedure.strProcedureFastName);
- strProcedureDescription.Format("%s", ProtocolProcedure.strProcedureDescription);
- strBodyPart.Format("%s", ProtocolProcedure.strBodyPart);
- strBodyPartDescription.Format("%s", ProtocolProcedure.strBodyPartDescription);
- strTrueSize.Format("%s", ProtocolProcedure.strTrueSize);
- strOftenUsed.Format("%s", ProtocolProcedure.strOftenUsed);
- strFilmOrientation.Format("%s", ProtocolProcedure.strFilmOrientation);
- strFilmSize.Format("%s", ProtocolProcedure.strFilmSize);
- strPrintFormat.Format("%s", ProtocolProcedure.strPrintFormat);
- //code begin 20091105
- strStitchingLength.Format("%s", ProtocolProcedure.strStitchingLength);;
- strStitchingPID.Format("%s", ProtocolProcedure.strStitchingPID);
- strStitchingOverlap.Format("%s", ProtocolProcedure.strStitchingOverlap);
- strStitchingDirection.Format("%s", ProtocolProcedure.strStitchingDirection);
- strStitchingType.Format("%s", ProtocolProcedure.strStitchingType);
- strInitialPosition.Format("%s", ProtocolProcedure.strInitialPosition);
- //code end 20091105
- vectorChildView = ProtocolProcedure.vectorChildView;
- return *this;
- }
- }ECOM_PROTOCOL_PROCEDURE;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_VIEW
- // 结构说明:读取系统 Protocol 中的 View 信息。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagProtocolView
- {
- CString strViewID;
- CString strViewDescription;
- CString strAnatomicRegion;
- CString strBodyPartExamined;
- CString strOrientation;
- CString strViewPosition;
- CString strPatientOrientationRow;
- CString strPatientOrientationColumn;
- CString strImageLaterality;
- CString strImageRotate;
- CString strCollimatorSize;
- CString strImageProcess;
- CString strImageHorizontalFlip;
- CString strLabelStyle;
- CString strLabelPosition;
- CString strViewIconName;
- CString strViewBigIconName;
- CString strStandPos;
- CString strFilter;
- tagProtocolView& operator =(const tagProtocolView &ProtocolView)
- {
- strViewID.Format("%s", ProtocolView.strViewID);
- strViewDescription.Format("%s", ProtocolView.strViewDescription);
- strAnatomicRegion.Format("%s", ProtocolView.strAnatomicRegion);
- strBodyPartExamined.Format("%s", ProtocolView.strBodyPartExamined);
- strOrientation.Format("%s", ProtocolView.strOrientation);
- strViewPosition.Format("%s", ProtocolView.strViewPosition);
- strPatientOrientationRow.Format("%s", ProtocolView.strPatientOrientationRow);
- strPatientOrientationColumn.Format("%s", ProtocolView.strPatientOrientationColumn);
- strImageLaterality.Format("%s", ProtocolView.strImageLaterality);
- strImageRotate.Format("%s", ProtocolView.strImageRotate);
- strCollimatorSize.Format("%s", ProtocolView.strCollimatorSize);
- strImageProcess.Format("%s", ProtocolView.strImageProcess);
- strImageHorizontalFlip.Format("%s", ProtocolView.strImageHorizontalFlip);
- strLabelStyle.Format("%s", ProtocolView.strLabelStyle);
- strLabelPosition.Format("%s", ProtocolView.strLabelPosition);
- strViewIconName.Format("%s", ProtocolView.strViewIconName);
- strViewBigIconName.Format("%s", ProtocolView.strViewBigIconName);
- strStandPos.Format("%s", ProtocolView.strStandPos);
- strFilter.Format("%s", ProtocolView.strFilter);
- return *this;
- }
- }ECOM_PROTOCOL_VIEW;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_EXPOSURE_PARAM
- // 结构说明:保存技术参数文档中,一条具体的 Tech 结点下的所有参数。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagExposureParam
- {
- int nKVP;
- int nFKVP;
- int nSID;
- int nGridSpeed;
- float fmA;
- float fmS;
- float fFMA;
- CString strBodySize;
- CString strGrid;
- tagExposureParam& operator =(const tagExposureParam &ExposureParam)
- {
- strBodySize.Format("%s", ExposureParam.strBodySize);
- strGrid.Format("%s", ExposureParam.strGrid);
-
- nKVP = ExposureParam.nKVP;
- nFKVP = ExposureParam.nFKVP;
- nSID = ExposureParam.nSID;
- nGridSpeed = ExposureParam.nGridSpeed;
- fmA = ExposureParam.fmA;
- fmS = ExposureParam.fmS;
- fFMA = ExposureParam.fFMA;
- return *this;
- }
- }ECOM_EXPOSURE_PARAM;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_ORIENTATION_PARAM
- // 结构说明:保存技术参数文档中,一条具体的 Orientation 结点下的所有参数。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagOrientationParam
- {
- int nExposureStyle;
- int nAECDensity;
- int nFocalSpot;
- int nWorkStation;
- CString strAECField;
- CString strOrientation;
- vector<ECOM_EXPOSURE_PARAM> ExposureParam;
- public:
- ECOM_EXPOSURE_PARAM operator [](const CString &strBodySize)
- {
- for (int i = 0; i < static_cast<int>(ExposureParam.size()); ++i)
- {
- if (ExposureParam[i].strBodySize == strBodySize)
- {
- return ExposureParam[i];
- }
- }
- ECOM_EXPOSURE_PARAM ExposureParamTemp;
- return ExposureParamTemp;
- }
- }ECOM_ORIENTATION_PARAM;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_BODYPART_EXAMINED
- // 结构说明:保存技术参数文档中,一条具体的 BodyPartExamined 结点下的所有参数。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagBodyPartExamined
- {
- CString strBodyPartExamined;
- vector<ECOM_ORIENTATION_PARAM> OrientationParam;
- public:
- ECOM_ORIENTATION_PARAM operator [](const CString &strOrientation)
- {
- for (int i = 0; i < static_cast<int>(OrientationParam.size()); ++i)
- {
- if (OrientationParam[i].strOrientation == strOrientation)
- {
- return OrientationParam[i];
- }
- }
- ECOM_ORIENTATION_PARAM OrientationTemp;
- return OrientationTemp;
- }
- }ECOM_BODYPART_EXAMINED;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_TECHNICAL_PARAM
- // 结构说明:提供一个 vector,使程序可以采用下标操作读取参数。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagTechnical
- {
- vector<ECOM_BODYPART_EXAMINED> Tech;
- public:
- ECOM_BODYPART_EXAMINED operator [](const CString &strBodyPartExamined)
- {
- for (int i = 0; i < static_cast<int>(Tech.size()); ++i)
- {
- if (Tech[i].strBodyPartExamined == strBodyPartExamined)
- {
- return Tech[i];
- }
- }
- ECOM_BODYPART_EXAMINED BodyPartTemp;
- return BodyPartTemp;
- }
- }ECOM_TECHNICAL_PARAM;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_GENERATOR_TECH
- // 结构说明:提供一个结构,用来保存当前高压发生器的技术参数
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagGeneratorTech
- {
- int nExposureStyle;
- int nAECDensity;
- int nFocalSpot;
- int nWorkStation;
- CString strAECField;
- tagGeneratorTech& operator =(const tagGeneratorTech &GeneratorTech)
- {
- strAECField.Format("%s", GeneratorTech.strAECField);
- nExposureStyle = GeneratorTech.nExposureStyle;
- nAECDensity = GeneratorTech.nAECDensity;
- nFocalSpot = GeneratorTech.nFocalSpot;
- nWorkStation = GeneratorTech.nWorkStation;
- return *this;
- }
- ECOM_EXPOSURE_PARAM ExposureParam;
- }ECOM_GENERATOR_TECH;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGEPROCESSPARA_SYMPHONY
- // 结构说明:用来保存一个Symphony参数的结构
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImageProcessParamSymphony
- {
- int nContrast;
- int nDetail;
- int nLatitude;
- int nNoiseMode;
- }ECOM_IMAGE_PROCESS_PARAM_SYMPHONY;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_PROCESS_PARAM_ESA
- // 结构说明:用来保存一个ESA参数的结构
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImageProcessParamESA
- {
- int nCurveType;
- int nLShift;
- int nRShift;
- }ECOM_IMAGE_PROCESS_PARAM_ESA;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_PROCESS_PARAM_ROTATE
- // 结构说明:用来保存图像旋转,翻转参数的结构
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImageProcessParamRotate
- {
- int nFlip; // 0,1
- int nRotate; // 0,90,180,270
- }ECOM_IMAGE_PROCESS_PARAM_ROTATE;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_PROCESS_PARAM_MASK
- // 结构说明:用来保存图像加入蒙板的结构,共四个点,为四边形
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImageProcessParamMask
- {
- CPoint point[4];
- }ECOM_IMAGE_PROCESS_PARAM_MASK;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_PROCESS_PARAM_CLIP
- // 结构说明:用来保存图像裁剪参数的结构,为矩形
- //
- //---------------------------------------------------------------------------------------
- typedef CRect ECOM_IMAGE_PROCESS_PARAM_CLIP;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_PROCESS_PARAM_MARK
- // 结构说明:用来保存图像标记,共可加入四个标记,CPoint为标记左上方点
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImageProcessParamMark
- {
- CPoint point1;
- CString strMark1; //L,R,PA,PA,...
- CString strName1;
- CPoint point2;
- CString strMark2; //L,R,PA,PA,...
- CString strName2;
- CPoint point3;
- CString strMark3; //L,R,PA,PA,...
- CString strName3;
- CPoint point4;
- CString strMark4; //L,R,PA,PA,...
- CString strName4;
- tagImageProcessParamMark& operator =(const tagImageProcessParamMark &ImageProcessParamMark)
- {
- point1 = ImageProcessParamMark.point1;
- strMark1.Format("%s", ImageProcessParamMark.strMark1);
- strName1.Format("%s", ImageProcessParamMark.strName1);
-
- point2 = ImageProcessParamMark.point2;
- strMark2.Format("%s", ImageProcessParamMark.strMark2);
- strName2.Format("%s", ImageProcessParamMark.strName2);
- point3 = ImageProcessParamMark.point3;
- strMark3.Format("%s", ImageProcessParamMark.strMark3);
- strName3.Format("%s", ImageProcessParamMark.strName3);
- point4 = ImageProcessParamMark.point4;
- strMark4.Format("%s", ImageProcessParamMark.strMark4);
- strName4.Format("%s", ImageProcessParamMark.strName4);
- return *this;
- }
- }ECOM_IMAGE_PROCESS_PARAM_MARK;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_PROCESS_PARAM_LUT
- // 结构说明:用来保存图像显示映射查找表
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImageProcessParamLut
- {
- int nLutLength;
- WORD *pwLutData;
- }ECOM_IMAGE_PROCESS_PARAM_LUT;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_IMAGE_PROCESS_PARAM
- // 结构说明:用来保存图像调整的参数
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagImageProcessParam
- {
- int nProcesstype; //new added, indicated the way to process image, 0: Esa, 1: Symphony
- ECOM_IMAGE_PROCESS_PARAM_SYMPHONY Symphony; //new added
- ECOM_IMAGE_PROCESS_PARAM_ESA Esa; //new added
- ECOM_IMAGE_PROCESS_PARAM_ROTATE Rotate;
- ECOM_IMAGE_PROCESS_PARAM_MASK Mask;
- ECOM_IMAGE_PROCESS_PARAM_CLIP Clip;
- ECOM_IMAGE_PROCESS_PARAM_MARK Mark;
- ECOM_IMAGE_PROCESS_PARAM_LUT Lut;
- }ECOM_IMAGE_PROCESS_PARAM;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_PRINT_FILM
- // 结构说明:用来保存一个胶片内容和格式的结构
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPrintFilm
- {
- CString strFilmOrientation;
- CString strFilmSize;
- CString strPrintFormat;
- vector<ECOM_SERIES_IMAGE> seriesimages;
- tagPrintFilm& operator =(const tagPrintFilm &PrintFilm)
- {
- strFilmOrientation.Format("%s", PrintFilm.strFilmOrientation);
- strFilmSize.Format("%s", PrintFilm.strFilmSize);
- strPrintFormat.Format("%s", PrintFilm.strPrintFormat);
- seriesimages = PrintFilm.seriesimages;
- return *this;
- }
- }ECOM_PRINT_FILM;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_FILM_TAG
- // 结构说明:用来保存一个胶片打印标记信息.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagFilmTag
- {
- UINT16 unGroup;
- UINT16 unElement;
- CString strDescription;
- CString strPrefix;
- CString strPostfix;
- CString strFormat;
- CString strPosition;
- CString strLine;
-
- tagFilmTag& operator =(const tagFilmTag &FilmTag)
- {
- strDescription.Format("%s", FilmTag.strDescription);
- strPrefix.Format("%s", FilmTag.strPrefix);
- strPostfix.Format("%s", FilmTag.strPostfix);
- strFormat.Format("%s", FilmTag.strFormat);
- strPosition.Format("%s", FilmTag.strPosition);
- strLine.Format("%s", FilmTag.strLine);
- unGroup = FilmTag.unGroup;
- unElement = FilmTag.unElement;
- return *this;
- }
- }ECOM_FILM_TAG;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_PROCEDURE_VIEW
- // 结构说明:用来保存 界面与 WorkFlow 交互时传递的 Porcedure and View 信息.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagProcedureView
- {
- //Station
- CString strStationName;
- CString strInstitutionName;
- // Procedure
- CString strProcedureCode;
- CString strProcedureName;
- CString strProcedureFastName; //new added, for fast input/search procedure
- CString strProcedureDescription; //for local language
- CString strBodyPart;
- CString strBodyPartDescription; //new added, for local language
- CString strOftenUsed;
- CString strTrueSize;
- CString strFilmOrientation;
- CString strFilmSize;
- CString strPrintFormat;
- //code begin 20091105
- CString strStitchingLength;
- CString strStitchingPID;
- CString strStitchingOverlap;
- CString strStitchingDirection;
- CString strStitchingType;
- CString strInitialPosition;
- //code end 20091105
- // View
- CString strViewID;
- CString strSOPInstanceUID; //newadded, for identification
- CString strImageID; //newadded, for identification
- CString strViewDescription;
- CString strAnatomicRegion;
- CString strBodyPartExamined;
- CString strOrientation;
- CString strViewPosition;
- CString strPatientOrientationRow;
- CString strPatientOrientationColumn;
- CString strImageLaterality;
- CString strImageRotate;
- CString strCollimatorSize;
- CString strImageProcess;
- CString strImageHorizontalFlip;
- CString strLabelStyle;
- CString strLabelPosition;
- CString strViewIconName;
- CString strViewBigIconName;
- CString strStandPos;
- CString strFilter;
- //code begin 20150616
- CString strViewSeriesInstanceUID; //seriesInstanceUID(对应每个view)
- CString strViewStatus; //view 是新的view还是拒绝后重新copy出来的; 0:新的view;1:拒绝后重新copy出来的
- CString strViewGridType; //Grid type: 0 表示没有; 其他则对应具体grid定义
- CString strViewAPRStatus; //当前view的曝光状态,0 表示没有曝光; 1 表示曝光成功; 2:曝光拒绝
- //code end 20150616
- tagProcedureView& operator =(const tagProcedureView &procedureview)
- {
- //CString::CopyChars(strPatientID, patient.strPatientID, patient.strPatientID.GetLength());
- strStationName.Format("%s", procedureview.strStationName);
- strInstitutionName.Format("%s", procedureview.strInstitutionName);
- strProcedureCode.Format("%s", procedureview.strProcedureCode);
- strProcedureName.Format("%s", procedureview.strProcedureName);
- strProcedureFastName.Format("%s", procedureview.strProcedureFastName);
- strProcedureDescription.Format("%s", procedureview.strProcedureDescription);
- strBodyPart.Format("%s", procedureview.strBodyPart);
- strBodyPartDescription.Format("%s", procedureview.strBodyPartDescription);
- strOftenUsed.Format("%s", procedureview.strOftenUsed);
- strTrueSize.Format("%s", procedureview.strTrueSize);
- strFilmOrientation.Format("%s", procedureview.strFilmOrientation);
- strFilmSize.Format("%s", procedureview.strFilmSize);
- strPrintFormat.Format("%s", procedureview.strPrintFormat);
- strViewID.Format("%s", procedureview.strViewID);
- strSOPInstanceUID.Format("%s", procedureview.strSOPInstanceUID);
- strImageID.Format("%s", procedureview.strImageID);
- strViewDescription.Format("%s", procedureview.strViewDescription);
- strAnatomicRegion.Format("%s", procedureview.strAnatomicRegion);
- strBodyPartExamined.Format("%s", procedureview.strBodyPartExamined);
- strOrientation.Format("%s", procedureview.strOrientation);
- strViewPosition.Format("%s", procedureview.strViewPosition);
- strPatientOrientationRow.Format("%s", procedureview.strPatientOrientationRow);
- strPatientOrientationColumn.Format("%s", procedureview.strPatientOrientationColumn);
- strImageLaterality.Format("%s", procedureview.strImageLaterality);
- strImageRotate.Format("%s", procedureview.strImageRotate);
- strCollimatorSize.Format("%s", procedureview.strCollimatorSize);
- strImageProcess.Format("%s", procedureview.strImageProcess);
- strImageHorizontalFlip.Format("%s", procedureview.strImageHorizontalFlip);
- strLabelStyle.Format("%s", procedureview.strLabelStyle);
- strLabelPosition.Format("%s", procedureview.strLabelPosition);
- strViewIconName.Format("%s", procedureview.strViewIconName);
- strViewBigIconName.Format("%s", procedureview.strViewBigIconName);
- strStandPos.Format("%s", procedureview.strStandPos);
- strFilter.Format("%s", procedureview.strFilter);
-
- //code begin 20091105
- strStitchingLength.Format("%s", procedureview.strStitchingLength);
- strStitchingPID.Format("%s", procedureview.strStitchingPID);
- strStitchingOverlap.Format("%s", procedureview.strStitchingOverlap);
- strStitchingDirection.Format("%s", procedureview.strStitchingDirection);
- strStitchingType.Format("%s", procedureview.strStitchingType);
- strInitialPosition.Format("%s", procedureview.strInitialPosition);
- //code end 20091105
- strViewSeriesInstanceUID.Format("%s", procedureview.strViewSeriesInstanceUID);
- strViewStatus.Format("%s", procedureview.strViewStatus);
- strViewGridType.Format("%s", procedureview.strViewGridType);
- strViewAPRStatus.Format("%s", procedureview.strViewAPRStatus);
- return *this;
- }
- }ECOM_PROCEDURE_VIEW;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_CURRENT_TECHNICAL
- // 结构说明:用来保存 界面与 WorkFlow 交互时传递的 当前所有的技术参数 信息.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagTechnicalParam
- {
- // BodyPartExamined
- CString strBodyPartExamined;
- // Orientation
- int nExposureStyle;
- int nAECDensity;
- int nFocalSpot;
- int nWorkStation;
- CString strAECField;
- CString strOrientation;
- // BodySize
- int nKVP;
- int nFKVP;
- int nSID;
- int nGridSpeed;
- float fmA;
- float fmS;
- float fFMA;
- CString strBodySize;
- CString strGrid;
- //code begin 20091104
- int nOverlap;
- int nPID; //?
- int nDirection;
- int nStitchingType;
- //code end 20091104
- tagTechnicalParam& operator =(const tagTechnicalParam &TechnicalParam)
- {
- strBodyPartExamined.Format("%s", TechnicalParam.strBodyPartExamined);
- nExposureStyle = TechnicalParam.nExposureStyle;
- nAECDensity = TechnicalParam.nAECDensity;
- nFocalSpot = TechnicalParam.nFocalSpot;
- nWorkStation = TechnicalParam.nWorkStation;
- strAECField.Format("%s", TechnicalParam.strAECField);
- strOrientation.Format("%s", TechnicalParam.strOrientation);
- nKVP = TechnicalParam.nKVP;
- nFKVP = TechnicalParam.nFKVP;
- nSID = TechnicalParam.nSID;
- nGridSpeed = TechnicalParam.nGridSpeed;
- fmA = TechnicalParam.fmA;
- fmS = TechnicalParam.fmS;
- fFMA = TechnicalParam.fFMA;
- strBodySize.Format("%s", TechnicalParam.strBodySize);
- strGrid.Format("%s", TechnicalParam.strGrid);
- //code begin 20091104
- nOverlap = TechnicalParam.nOverlap;
- nPID = TechnicalParam.nPID; //?
- nDirection = TechnicalParam.nDirection;
- nStitchingType = TechnicalParam.nStitchingType;
- //code end 20091104
- return *this;
- }
- }ECOM_CURRENT_TECHNICAL;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_COLLIMATOR_INFO
- // 结构说明:用来保存遮光器的参数信息.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagCollimator
- {
- float fWidth; //cm
- float fHeight; //cm
- /*tagCollimator& operator =(const tagCollimator &Collimator)
- {
- fWidth = Collimator.fWidth;
- fHeight = Collimator.fWidth;
- return *this;
- }
- tagCollimator& operator =(const tagHWCollimator &Collimator)
- {
- fWidth = Collimator.nWidth;
- fHeight = Collimator.nWidth;
- return *this;
- }*/
- }ECOM_COLLIMATOR_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_COLLIMATOR_ZERO
- // 结构说明:用来保存遮光器中心在以图像左上角为原点的坐标系中的位置坐标;
- // 单位:cm.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagCollimatorZero
- {
- float fWidth; //cm
- float fHeight; //cm
- }ECOM_COLLIMATOR_ZERO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_COLLIMATOR_Offset
- // 结构说明:用来保存遮光器中心在以图像左上角为原点的坐标系中的位置坐标;
- // 单位:cm.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagCollimatorOffset
- {
- float fOffsetWidthLeft; //cm
- float fOffsetWidthRight; //cm
- float fOffsetHeightUp; //cm
- float fOffsetHeightDown; //cm
- }ECOM_COLLIMATOR_OFFSET;
- //---------------------------------------------------------------------------------------
- // 结构名称:ECOM_SOFTWARE_INFO
- // 结构说明:用来保存软件相关信息.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagSoftWareInfo
- {
- CString strSoftwareVersion;
- CString strManufacturerModelName;
- CString strManufacturer;
- tagSoftWareInfo& operator =(const tagSoftWareInfo &SoftWareInfo)
- {
- strSoftwareVersion.Format("%s", SoftWareInfo.strSoftwareVersion);
- strManufacturerModelName.Format("%s", SoftWareInfo.strManufacturerModelName);
- strManufacturer.Format("%s", SoftWareInfo.strManufacturer);
- return *this;
- }
- }ECOM_SOFTWARE_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_AUTO_REGIST_SETTING
- // 结构说明:用来获取自动注册时的设置。
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagAutoRegistSetting
- {
- CString strPrefix;
- vector<CString> vectorPrefixs;
- CString strDirectory;
- CString strProcedureCodeValue;
- int nOutPut;
- int nIndex;
-
- tagAutoRegistSetting& operator =(const tagAutoRegistSetting &AutoRegistSetting)
- {
- strPrefix.Format("%s", AutoRegistSetting.strPrefix);
- strDirectory.Format("%s", AutoRegistSetting.strDirectory);
- strProcedureCodeValue.Format("%s", AutoRegistSetting.strProcedureCodeValue);
- nOutPut = AutoRegistSetting.nOutPut;
- nIndex = AutoRegistSetting.nIndex;
- vectorPrefixs.clear();
- for(UINT i = 0; i< AutoRegistSetting.vectorPrefixs.size(); i++)
- {
- vectorPrefixs.push_back(AutoRegistSetting.vectorPrefixs[i]);
- }
- return *this;
- }
- }ECOM_AUTO_REGIST_SETTING;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_HW_COLLIMATOR
- // 结构说明:用来保存遮光器的参数信息.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagHWCollimator
- {
- int nWidth;
- int nHeight;
- }ECOM_HW_COLLIMATOR;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:ECOM_DUAL_ENERGY_INFO
- // 结构说明:用来保存双能相关信息.
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagDualEnergyInfo
- {
- CString strHighEnergyPath;
- CString strLowEnergyPath;
- tagDualEnergyInfo& operator =(const tagDualEnergyInfo &DualEnergyInfo)
- {
- strHighEnergyPath.Format("%s", DualEnergyInfo.strHighEnergyPath);
- strLowEnergyPath.Format("%s", DualEnergyInfo.strLowEnergyPath);
- return *this;
- }
- }ECOM_DUAL_ENERGY_INFO;
- //---------------------------------------------------------------------------------------
- //
- // 结构名称:HW_MAMMO_THICKNESS_PARAM
- // 结构说明:乳腺机架的压迫器厚度和力等信息
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagHWMammoThicknessParam
- {
- int nHeight;
- int nForce;
- tagHWMammoThicknessParam& operator =(const tagHWMammoThicknessParam &ThicknessParam)
- {
- nHeight = ThicknessParam.nHeight;
- nForce = ThicknessParam.nForce;
- }
- }HW_MAMMO_THICKNESS_PARAM;
- typedef enum
- {
- EM_ERROR = 0,
- EM_NORMAL, //normal exposure mdoe
- EM_AEC, //AEC exposure mode
- EM_AEC_TIME =2,
- EM_DE, //Dual Energy exposure mode
- EM_HDR, //HDR exposure mode
- EM_STITCHING, //Stitching Mode
- EM_WARMUP,
- EM_AEC_FILTER,
- EM_AEC_KV,
- EM_QC,
- EM_VET_QUICK,
- EM_TOMO,
- } HW_EXPOSURE_MDOE;
- //---------------------------------------------------------------------------------------
- // 作 者:宋兴亮
- // 日 期:2013-09-13
- // 结构名称:ECOM_PANEL_UNIQUE_INFO
- // 说明说明:用来保存探测器特有的信息,目前应用于varian平板
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPanelUniqueInfo
- {
- int nColumn; // 影像原始宽
- int nRow; // 影像原始高
- int nMxPixelValue; // 影像大小(总数据位)
- int nLinesPerPixel; // 每行包含几个像素
- int nColsPerPixel; //每列包含几个像素
- CString strPleoraVersion; //Pleora 版本信息
- CString strVirtCpVersion; //瓦里安主dll版本信息
- CString strPaneloprVersion; //ECOM平板dll版本信息
- CString strDetectorType; //瓦里安平板类型
- int nReceptorType; // Receptor类型
- CString strModeDescription; //当前模式
- CString strSysDescription; //瓦里安驱动软件系统信息
- tagPanelUniqueInfo& operator =(const tagPanelUniqueInfo &PanelInfo)
- {
- nColumn = PanelInfo.nColumn;
- nRow = PanelInfo.nRow;
- nMxPixelValue = PanelInfo.nMxPixelValue;
- nLinesPerPixel = PanelInfo.nLinesPerPixel; // 每行包含几个像素
- nColsPerPixel = PanelInfo.nColsPerPixel;
- strPleoraVersion.Format("%s", PanelInfo.strPleoraVersion);
- strPaneloprVersion.Format("%s", PanelInfo.strPaneloprVersion);
- strVirtCpVersion.Format("%s", PanelInfo.strVirtCpVersion);
- strDetectorType.Format("%s", PanelInfo.strDetectorType);
- nReceptorType = PanelInfo.nReceptorType;
- strModeDescription.Format("%s", PanelInfo.strModeDescription);
- strSysDescription.Format("%s", PanelInfo.strSysDescription);
- return *this;
- }
- }ECOM_PANEL_UNIQUE_INFO;
- //---------------------------------------------------------------------------------------
- // 作 者:郑丽华
- // 日 期:2013-10-23
- // 枚举名称:ECOM_DYN_CHANNEL_TYPE
- // 枚举说明:DYN通道类型
- //---------------------------------------------------------------------------------------
- typedef enum
- {
- DYN_DI,
- DYN_DO,
- DYN_ALL
- }ECOM_DYN_CHANNEL_TYPE;
- //---------------------------------------------------------------------------------------
- // 作 者:郑丽华
- // 日 期:2013-10-23
- // 结构名称:ECOM_DYN_CHANNEL_MAP
- // 结构说明:DYN通道ID与名称之间的Map信息
- //---------------------------------------------------------------------------------------
- typedef struct tagECOMDYNChannelMap
- {
- CString strVer;
- CString strChannelName[32];
- ECOM_DYN_CHANNEL_TYPE eChanneltype[32];
- UCHAR cChannelID[32];
- tagECOMDYNChannelMap& operator =(const tagECOMDYNChannelMap &ChannelMap)
- {
- strVer = ChannelMap.strVer;
- for(int i=0;i<32;i++)
- {
- strChannelName[i] = ChannelMap.strChannelName[i];
- eChanneltype[i] = ChannelMap.eChanneltype[i];
- cChannelID[i] = ChannelMap.cChannelID[i];
- }
- return *this;
- }
- } ECOM_DYN_CHANNEL_MAP;
- //---------------------------------------------------------------------------------------
- // 作 者:郑丽华
- // 日 期:2013-10-23
- // 结构名称:ECOM_DYN_IO_CONF
- // 结构说明:DYN通道设置
- //---------------------------------------------------------------------------------------
- typedef struct tagECOMDYNIOConfigure
- {
- CString strVer;
- UCHAR unSet1[4][32];
- UCHAR unSet2[4][32];
- UCHAR unSet3[4][32];
- UCHAR unRelay1[4][32];
- UCHAR unRelay2[4][32];
- UCHAR unRelay3[4][32];
- tagECOMDYNIOConfigure& operator =(const tagECOMDYNIOConfigure &IOConf)
- {
- strVer = IOConf.strVer;
- memcpy((void *)&unSet1,(void *)&IOConf.unSet1,32*4);
- memcpy((void *)&unSet2,(void *)&IOConf.unSet2,32*4);
- memcpy((void *)&unSet3,(void *)&IOConf.unSet3,32*4);
- memcpy((void *)&unRelay1,(void *)&IOConf.unRelay1,32*4);
- memcpy((void *)&unRelay2,(void *)&IOConf.unRelay2,32*4);
- memcpy((void *)&unRelay3,(void *)&IOConf.unRelay3,32*4);
- return *this;
- }
- } ECOM_DYN_IO_CONF;
- //---------------------------------------------------------------------------------------
- // 作 者:宋兴亮
- // 日 期:2014-03-24
- // 结构名称:ECOM_PANEL_XRAY_WINDOW_INFO
- // 说明说明:保存探测器当前的曝光窗口,min,mid,max曝光窗口的值,用于检查界面显示切换曝光窗口的图标的样子
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPanelXRayWindowInfo
- {
- int nCurrentXRayWindow; //平板当前的曝光窗口
- int nMinXRayWindow; //平板支持的最小的曝光窗口
- int nMidXRayWindow; //平板支持的中间大小的曝光窗口
- int nMaxXRayWindow; //平板支持的最大的曝光窗口
- int nConfXWindowMode; //DROC配置的曝光窗口模式
- tagPanelXRayWindowInfo& operator =(const tagPanelXRayWindowInfo &PanelXRayWindow)
- {
- nCurrentXRayWindow = PanelXRayWindow.nCurrentXRayWindow;
- nMinXRayWindow = PanelXRayWindow.nMinXRayWindow;
- nMidXRayWindow = PanelXRayWindow.nMidXRayWindow;
- nMaxXRayWindow = PanelXRayWindow.nMaxXRayWindow;
- nConfXWindowMode = PanelXRayWindow.nConfXWindowMode;
- return *this;
- }
- }ECOM_PANEL_XRAY_WINDOW_INFO;
- //code begin 20140808
- //typedef struct tagImageEXI
- //{
- // int nImageStandardEXI; //图像标准EXI
- // int nImageReferenceEXI; //图像参考EXI
- //
- //}ECOM_IMAGE_EXI;
- typedef struct tagImageEXI
- {
- float fImageStandardEXI; //图像标准EXI
- float fImageReferenceEXI; //图像参考EXI
- }ECOM_IMAGE_EXI;
- //code begin 20140808
- //---------------------------------------------------------------------------------------
- // 作 者:张锋
- // 日 期:2015-06-12
- // 结构名称:ECOM_DUALENERGY_PARAMENT
- // 说明说明:保存探测器当前的曝光窗口,min,mid,max曝光窗口的值,用于检查界面显示切换曝光窗口的图标的样子
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagGenDualEnergyParameter
- {
- int nWS;
- int nET;
- int nFO;
- int nAECFieldSel;
- float fAECDensity;
- float fKV;
- float fMA;
- float fMS;
- float fMAS;
- float fPostMS;
- float fPostMAS; //DROC配置的曝光窗口模式
- float fDAP; //DROC配置的曝光窗口模式
- tagGenDualEnergyParameter()
- {
- nWS=0;
- nET=0;
- nFO=0;
- nAECFieldSel=0;
- fAECDensity=0.0;
- fKV=0.0;
- fMA=0.0;
- fMS=0.0;
- fMAS=0.0;
- fPostMS=0.0;
- fPostMAS=0.0;
- fDAP=0.0;
- }
- tagGenDualEnergyParameter& operator =(const tagGenDualEnergyParameter &GenDualEnergyParameter)
- {
- nWS = GenDualEnergyParameter.nWS;
- nET = GenDualEnergyParameter.nET;
- nFO = GenDualEnergyParameter.nFO;
- nAECFieldSel = GenDualEnergyParameter.nAECFieldSel;
- fAECDensity = GenDualEnergyParameter.fAECDensity;
- fKV = GenDualEnergyParameter.fKV;
- fMA = GenDualEnergyParameter.fMA;
- fMS = GenDualEnergyParameter.fMS;
- fMAS = GenDualEnergyParameter.fMAS;
- fPostMS = GenDualEnergyParameter.fPostMS;
- fPostMAS = GenDualEnergyParameter.fPostMAS;
- fDAP = GenDualEnergyParameter.fDAP;
- return *this;
- }
- }ECOM_GENDUALENERGYPARAMETER;
- typedef struct tagShockSensor
- {
- CString strSN;
- CString strDate;
- int nLevel;
- tagShockSensor& operator =(const tagShockSensor &ShockSensor)
- {
- strSN.Format("%s", ShockSensor.strSN);
- strDate.Format("%s", ShockSensor.strDate);
- nLevel = ShockSensor.nLevel;
- return *this;
- }
- }ECOM_SHOCK_SENSOR;
- typedef struct tagECOM_FPD_INFO
- {
- CString strPanelType;
- CString strSN;
- CString strIPAddress;
- CString strCalibrationDate;
- CString strBatteryValue;
- CString strWifiValue;
- CString strTemperature;
- CString strShockCounts;
- CString strAvailableStorage;
- CString strWorkstation;
- CString strConnectFlag;
- CString strAutonumous;
- tagECOM_FPD_INFO()
- {
- strPanelType = "";
- strSN = "";
- strIPAddress = "";
- strCalibrationDate = "";
- strBatteryValue = "";
- strWifiValue = "";
- strTemperature = "";
- strShockCounts = "";
- strAvailableStorage = "";
- strWorkstation = "";
- strConnectFlag = "";
- strAutonumous = "";
- }
- tagECOM_FPD_INFO& operator =(const tagECOM_FPD_INFO &tagFPDInfo)
- {
- strPanelType.Format("%s", tagFPDInfo.strPanelType);
- strSN.Format("%s", tagFPDInfo.strSN);
- strIPAddress.Format("%s", tagFPDInfo.strIPAddress);
- strCalibrationDate.Format("%s", tagFPDInfo.strCalibrationDate);
- strBatteryValue.Format("%s", tagFPDInfo.strBatteryValue);
- strWifiValue.Format("%s", tagFPDInfo.strWifiValue);
- strTemperature.Format("%s", tagFPDInfo.strTemperature);
- strShockCounts.Format("%s", tagFPDInfo.strShockCounts);
- strAvailableStorage.Format("%s", tagFPDInfo.strAvailableStorage);
- strWorkstation.Format("%s", tagFPDInfo.strWorkstation);
- strConnectFlag.Format("%s", tagFPDInfo.strConnectFlag);
- strAutonumous.Format("%s", tagFPDInfo.strAutonumous);
-
- return *this;
- }
- }ECOM_FPD_INFO;
- //---------------------------------------------------------------------------------------
- // 作 者:杨硕
- // 日 期:2020-01-14
- // 结构名称:HW_FPD_CONTEXT_TYPE, HW_FPD_FILTER_TYPE
- // 说明说明:曝光检测类型,目前应用于Analogic乳腺平板Context和filter设置
- //
- //---------------------------------------------------------------------------------------
- typedef enum
- {
- HW_FPD_CONTEXT_TYPE_CONTACT = 0,
- HW_FPD_CONTEXT_TYPE_MAG,
- HW_FPD_CONTEXT_TYPE_STEREO
- } HW_FPD_CONTEXT_TYPE;
- typedef enum
- {
- HW_FILTER_TYPE_MO_MO = 0, //钼靶 钼滤过
- HW_FILTER_TYPE_MO_RH, //钼靶 铑滤过
- HW_FILTER_TYPE_W_RH //钨靶 铑滤过
- } HW_FPD_FILTER_TYPE;
- //---------------------------------------------------------------------------------------
- // 作 者:杨硕
- // 日 期:2020-01-14
- // 结构名称:ECOM_PANEL_EXPOSURE_PROPERTIES
- // 说明说明:保存探测器当前的曝光环境参数,目前用于Analogic DMOC探测器
- //
- //---------------------------------------------------------------------------------------
- typedef struct tagPanelExposureProperties
- {
- int nContext; //曝光模式,0:Contact;1:Mag;2:Stereo
- int nFilter; //靶、滤过类型,0:Mo/Mo;1:Mo/Rh;2:W/Rh
- int nIsAec; //Aec、Manual模式,0:Manual;1:Aec
- tagPanelExposureProperties& operator =(const tagPanelExposureProperties &PanelExposureProperties)
- {
- nContext = PanelExposureProperties.nContext;
- nFilter = PanelExposureProperties.nFilter;
- nIsAec = PanelExposureProperties.nIsAec;
- return *this;
- }
- }ECOM_PANEL_EXPOSURE_PROPERTIES;
|