You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
280 lines
9.2 KiB
280 lines
9.2 KiB
|
|
using Shentun.Peis.PlugIns.Extensions.ChargeRequests.Hzcy;
|
|
using Shentun.Peis.PlugIns.Extensions.PatientRegisters.Qztl;
|
|
using Shentun.Utilities;
|
|
using Xunit.Abstractions;
|
|
namespace Shentun.Peis.PlugIns.Extensions.Test
|
|
{
|
|
public class HisTest
|
|
{
|
|
private readonly ITestOutputHelper _output;
|
|
public HisTest(ITestOutputHelper testOutputHelper)
|
|
{
|
|
_output = testOutputHelper;
|
|
|
|
}
|
|
[Fact]
|
|
public async Task PatientQuery()
|
|
{
|
|
var patientRegisterPluginsGemHis = new PatientRegisterPluginsGemHis(GetConfigParm());
|
|
var hisPatientQueryInput = new HisPatientQueryInput()
|
|
{
|
|
Data = new HisPatientQueryDataInput()
|
|
{
|
|
MsgHeader = new HisMsgHeaderInput()
|
|
{
|
|
Sender = "PEIS",
|
|
MsgType = "SVR_ODS_1101",
|
|
MsgVersion = "3.1",
|
|
},
|
|
Patient = new HisPatientQueryPatientInput()
|
|
{
|
|
IdCard = "110101202404238836",
|
|
IdCardCode = "01",
|
|
Name = "体检调试一",
|
|
Sex = "1",
|
|
BirthDate = "2024-04-23",
|
|
PatientPhone = "13700000001",
|
|
EthnicGroupCode = "01",
|
|
WorkUnit = "测试单位",
|
|
Address = "测试地址"
|
|
}
|
|
}
|
|
};
|
|
|
|
var result = await patientRegisterPluginsGemHis.PatientQuery(hisPatientQueryInput);
|
|
if(result.MsgHeader.Status != "true")
|
|
{
|
|
_output.WriteLine("错误信息:" + result.MsgHeader.Detail);
|
|
return;
|
|
}
|
|
_output.WriteLine(result.Patient.PatientId);
|
|
|
|
}
|
|
|
|
[Fact]
|
|
public async Task PatientNew()
|
|
{
|
|
var patientRegisterPluginsGemHis = new PatientRegisterPluginsGemHis(GetConfigParm());
|
|
var hisPatientQueryInput = new HisPatientQueryInput()
|
|
{
|
|
Data = new HisPatientQueryDataInput()
|
|
{
|
|
MsgHeader = new HisMsgHeaderInput()
|
|
{
|
|
Sender = "PEIS",
|
|
MsgType = "SVR_ODS_1101",
|
|
MsgVersion = "3.1",
|
|
},
|
|
Patient = new HisPatientQueryPatientInput()
|
|
{
|
|
IdCard = "4306249801019311",
|
|
IdCardCode = "01",
|
|
Name = "王五的",
|
|
Sex = "2",
|
|
BirthDate = "1993-09-01",
|
|
PatientPhone = "18911254911",
|
|
EthnicGroupCode = "01",
|
|
WorkUnit = "本医院",
|
|
Address = "本院家属区"
|
|
}
|
|
}
|
|
};
|
|
|
|
var result = await patientRegisterPluginsGemHis.PatientQuery(hisPatientQueryInput);
|
|
if (result.MsgHeader.Status != "true")
|
|
{
|
|
_output.WriteLine("错误信息:" + result.MsgHeader.Detail);
|
|
}
|
|
else
|
|
{
|
|
_output.WriteLine("病人ID:" + result.Patient.PatientId);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
[Fact]
|
|
public async Task MecSave()
|
|
{
|
|
var patientRegisterPluginsGemHis = new PatientRegisterPluginsGemHis(GetConfigParm());
|
|
var hisInput = new HisMecSaveInput()
|
|
{
|
|
Data = new HisMecSaveDataInput()
|
|
{
|
|
MsgHeader = new HisMsgHeaderInput()
|
|
{
|
|
Sender = "PEIS",
|
|
MsgType = "SVR_ODS_6101",
|
|
MsgVersion = "3.1",
|
|
},
|
|
Items = new List<HisMecSaveDataItemInput>()
|
|
{
|
|
new HisMecSaveDataItemInput()
|
|
{
|
|
ExamRequestNo = "0003",
|
|
FeeType = "1",
|
|
EmpId = "TJ00000007",
|
|
DeptId = "",
|
|
DoctId = "",
|
|
ExeDeptId = "",
|
|
Tjunit = "本院",
|
|
Tjfee = "1234567.89",
|
|
Ztxm = "",
|
|
Remark = "备注但是发射点法大师傅撒旦"
|
|
|
|
},
|
|
|
|
}
|
|
}
|
|
};
|
|
|
|
var result = await patientRegisterPluginsGemHis.MecSave(hisInput);
|
|
if (result.MsgHeader.Status != "true")
|
|
{
|
|
_output.WriteLine("错误信息:" + result.MsgHeader.Detail);
|
|
}
|
|
else
|
|
{
|
|
_output.WriteLine("成功:医技序号:" + result.MsgHeader.Yjxh);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
[Fact]
|
|
public async Task CancelQrCode()
|
|
{
|
|
var patientRegisterPluginsGemHis = new PatientRegisterPluginsGemHis(GetConfigParm());
|
|
var hisInput = new HisCancelQrCodeInput()
|
|
{
|
|
Data = new HisCancelQrCodeDataInput()
|
|
{
|
|
MsgHeader = new HisMsgHeaderInput()
|
|
{
|
|
Sender = "PEIS",
|
|
MsgType = "SVR_ODS_6105",
|
|
MsgVersion = "3.1",
|
|
},
|
|
Item = new HisCancelQrCodeDataItemInput()
|
|
{
|
|
Yjxh = "899",
|
|
ExamRequestNo = "0001"
|
|
}
|
|
}
|
|
};
|
|
|
|
var result = await patientRegisterPluginsGemHis.CancelQrCode(hisInput);
|
|
if (result.MsgHeader.Status != "true")
|
|
{
|
|
_output.WriteLine("错误信息:" + result.MsgHeader.Detail);
|
|
}
|
|
else
|
|
{
|
|
_output.WriteLine("成功");
|
|
}
|
|
|
|
|
|
}
|
|
|
|
[Fact]
|
|
public async Task PayStatus()
|
|
{
|
|
var patientRegisterPluginsGemHis = new PatientRegisterPluginsGemHis(GetConfigParm());
|
|
var hisInput = new HisPayStatusInput()
|
|
{
|
|
Data = new HisPayStatusDataInput()
|
|
{
|
|
MsgHeader = new HisMsgHeaderInput()
|
|
{
|
|
Sender = "PEIS",
|
|
MsgType = "SVR_ODS_6105",
|
|
MsgVersion = "3.1",
|
|
},
|
|
Item = new HisPayStatusDataItemInput()
|
|
{
|
|
Yjxh = "4334",
|
|
ExamRequestNo = "202405060016"
|
|
}
|
|
}
|
|
};
|
|
|
|
var result = await patientRegisterPluginsGemHis.PayStatus(hisInput);
|
|
if (result.MsgHeader.Status != "true")
|
|
{
|
|
_output.WriteLine("错误信息:" + result.MsgHeader.Detail);
|
|
}
|
|
else
|
|
{
|
|
_output.WriteLine("成功"+ result.MsgHeader.Detail);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
[Fact]
|
|
public async Task AgreeRefund()
|
|
{
|
|
var patientRegisterPluginsGemHis = new PatientRegisterPluginsGemHis(GetConfigParm());
|
|
var hisInput = new HisAgreeRefundInput()
|
|
{
|
|
Data = new HisAgreeRefundDataInput()
|
|
{
|
|
MsgHeader = new HisMsgHeaderInput()
|
|
{
|
|
Sender = "PEIS",
|
|
MsgType = "SVR_ODS_6105",
|
|
MsgVersion = "3.1",
|
|
},
|
|
Item = new HisAgreeRefundDataItemInput()
|
|
{
|
|
Yjxh = "911",
|
|
ExamRequestNo = "0003"
|
|
}
|
|
}
|
|
};
|
|
|
|
var result = await patientRegisterPluginsGemHis.AgreeRefund(hisInput);
|
|
if (result.MsgHeader.Status != "true")
|
|
{
|
|
_output.WriteLine("错误信息:" + result.MsgHeader.Detail);
|
|
}
|
|
else
|
|
{
|
|
_output.WriteLine("成功" + result.MsgHeader.Detail);
|
|
}
|
|
|
|
|
|
}
|
|
[Fact]
|
|
public void XmlSerializer()
|
|
{
|
|
var hisPatientQueryInput = new HisPatientQueryInput() {
|
|
Data = new HisPatientQueryDataInput()
|
|
{
|
|
MsgHeader = new HisMsgHeaderInput()
|
|
{
|
|
Sender = "PEIS",
|
|
MsgType = "SVR_ODS_1101",
|
|
MsgVersion = "3.1",
|
|
},
|
|
Patient = new HisPatientQueryPatientInput()
|
|
{
|
|
IdCard = ""
|
|
}
|
|
}
|
|
};
|
|
var xml = XmlHelper.SerializeToXml(hisPatientQueryInput.Data);
|
|
_output.WriteLine(xml);
|
|
}
|
|
|
|
private string GetConfigParm()
|
|
{
|
|
string configParm;
|
|
string filePath = DirectoryHelper.GetAppDirectory() + "/appsettings.json";
|
|
configParm = File.ReadAllText(filePath);
|
|
return configParm;
|
|
|
|
}
|
|
}
|
|
}
|