1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050 |
- //---------------------------------------------------------------------------------------
- //
- // 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
- } 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;
|