# include“ltdic.h”
L_INTLDicomNet::SendNReportRequest(nPresentationID, nMessageID, pszClass, pszInstance, nEvent, pDS)
发送一个N-EVENT-REPORT-REQ发送给连接的对等成员的消息。该函数可在pac成像工具包。
表示ID。表示ID提供有关数据的类类型和传输数据时使用的传输语法的信息。
消息ID。连接的成员发送的每条消息都应该有唯一的ID。由于连接的成员可以发送多条消息,因此此ID允许该成员识别特定请求何时完成。
受请求影响的类。这将是一个SOP类或SOP元类。
类的实例。例如,一个服务器可能有三个核医学类实例。该值标识具有特定实例的数据。
要为其生成报告的应用程序特定的事件。
特定于应用程序的数据集,包含与操作相关的信息。
价值 | 意义 |
---|---|
0 | 成功 |
> 0 | 发生错误。指返回代码. |
调用此函数将生成对LDicomNet: OnReceiveNReportRequest在SCP上。SCP应该通过调用进行响应LDicomNet: SendNReportResponse哪个将生成对的调用LDicomNet: OnReceiveNReportResponse.
生成一个报告,让连接到服务器的所有对等体知道发生了什么事件。这个事件可能是增加一个新的病人,删除一个病人,增加一个新的研究,等等。指定发生事件的nEvent值由服务器决定。要找出使用的值,必须与创建服务器的组织联系。在创建服务器时,这些值及其对应的含义由创建服务器的值决定。
必需的dll和库
Win32, x64
这个示例向所有客户端发送N-Event Report消息,让他们知道一个新患者已经创建
在这个例子中:
m_pDicomNet指向一个有效的LMyDicomNet对象
LMyDicomNet * m_pDicomNet
客户端和服务器之间存在连接
LMyDicomNet *m_pDicomNet示例
{
L_INT nRet;
CString strMsg = TEXT(“\ n N-Event报告”);
//选择一个类
strClassUID = UID_US_IMAGE_STORAGE;
//选择实例
strInstance = TEXT(“1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1”);
//创建数据集
LDicomDS DicomDS;
DicomDS。InitDS (CLASS_UNKNOWN 0);
//添加所需的元素
/ / TAG_SPECIFIC_CHARACTER_SET
pDICOMTAG = LDicomTag::查找(TAG_SPECIFIC_CHARACTER_SET);
pDICOMELEMENT pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_SPECIFIC_CHARACTER_SET,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0
/ / L_UINT32 nIndex
);
/ / TAG_INSTANCE_CREATION_DATE
pDicomTag = LDicomTag::Find(TAG_INSTANCE_CREATION_DATE);
pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_INSTANCE_CREATION_DATE,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0/ / L_UINT32 nIndex
);
VALUEDATE VALUEDATE;
valueDate。nYear = 1999;
valueDate。nMonth = 12;
valueDate。nDay = 31;
DicomDS。SetDateValue(pElement, &valueDate, 1);
/ / TAG_INSTANCE_CREATION_TIME
pDicomTag = LDicomTag::Find(TAG_INSTANCE_CREATION_TIME);
pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_INSTANCE_CREATION_TIME,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0/ / L_UINT32 nIndex
);
VALUETIME VALUETIME;
valueTime。nFractions = 0;
valueTime。nHours = 12;
valueTime。nMinutes = 30;
valueTime。nSeconds = 10;
DicomDS。SetTimeValue(pElement, &valueTime, 1);
/ / TAG_INSTANCE_CREATOR_UID
pDicomTag = LDicomTag::Find(tag_instance_create_uid);
pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_INSTANCE_CREATOR_UID,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0/ / L_UINT32 nIndex
);
DicomDS。SetStringValue (pElement文本(“9.9.9999.9”),
1、DICOM_CHARACTER_SET_DEFAULT);
/ / TAG_PATIENT_NAME
pDicomTag = LDicomTag::Find(TAG_PATIENT_NAME);
pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_PATIENT_NAME,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0/ / L_UINT32 nIndex
);
DicomDS。SetStringValue (pElement文本(“dummy_patient_name”),
1、DICOM_CHARACTER_SET_DEFAULT);
//添加我们想要返回的可选字段
/ / TAG_PATIENT_ID
pDicomTag = LDicomTag::Find(TAG_PATIENT_ID);
pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_PATIENT_ID,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0/ / L_UINT32 nIndex
);
DicomDS。SetStringValue (pElement文本(“dummy_patient_id”),
1、DICOM_CHARACTER_SET_DEFAULT);
/ / TAG_PATIENT_BIRTH_DATE
pDicomTag = LDicomTag::Find(TAG_PATIENT_BIRTH_DATE);
pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_PATIENT_BIRTH_DATE,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0/ / L_UINT32 nIndex
);
DicomDS。SetDateValue(pElement, &valueDate, 1);
/ / TAG_PATIENT_SEX
pDicomTag = LDicomTag::Find(TAG_PATIENT_SEX);
pElement = DicomDS。InsertElement (
空,/ / pDICOMELEMENT pNeighbor
假的,/ / L_BOOL bChild
TAG_PATIENT_SEX,/ / L_UINT32 nTag
pDicomTag - >极,/ / L_UINT16极
假的,/ / L_BOOL bSequence,
0/ / L_UINT32 nIndex
);
DicomDS。SetConvertValue (pElement文本(“M”), 1);
//遍历所有客户端
为(L_UINT32我= 0;我< m_pDicomNet - > GetClientCount ();我+ +)
{
LDicomNet *pDicomNetClient = m_pDicomNet->GetClient(i);
//获取客户端的关联对象
LDicomAssociate *pDicomAssociate = pDicomNetClient->GetAssociate();
//关联中是否支持类?
L_UCHAR nPresentationID = pDicomAssociate->FindAbstract((L_TCHAR *)(LPCTSTR)strClassUID);
//nPresentationID必须是奇数——0表示失败
如果(nPresentationID = = 0)
{
装运箱strTmp;
strTmp。(文本格式("抽象语法[%s]不包含在关联中"), strClassUID);
strMsg = strMsg + strTmp;
}
其他的
{
//发送N-Report请求消息
L_UINT16 uUniqueID = 99;
L_UINT16 nEvent = 1;
nRet = pDicomNetClient - > SendNReportRequest (
nPresentationID,
uUniqueID,
(L_TCHAR *) (LPCTSTR) strClassUID,
(L_TCHAR *) (LPCTSTR) strInstance,
nEvent,
&DicomDS);
如果(nRet > 0)
返回nRet;
}
}
AfxMessageBox (strMsg);
返回DICOM_SUCCESS;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。