123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- package com.diagbot.util;
- import ca.uhn.hl7v2.model.Message;
- import ca.uhn.hl7v2.parser.PipeParser;
- import ca.uhn.hl7v2.util.Terser;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.Socket;
- public class SocketClient {
- public static void main(String[] args) throws Exception {
- String msg1 = "MSH|^~\\&|HIS^1|MediInfo|MediII^1|MediInfo|20201106092139||ADT^A01^ADT_A01|62c6a92b14bf4ac3b2c1223eaec56354|P|2.4\n" +
- "EVN|A01|20201106092139||||20201106092139\n" +
- "PID||1101722206^0|1101722206^^^JG01~000251286^^^JG02~~~~1101722206^^^JG06~~~~1101722206^^^JG10|0|ChenXiangNian^陈相年||19821227000000|F|||浙江金华义乌北苑街道季宅一区92-1-406&北苑街道季宅一区92-1-406^^330700^330000^445700^^H~^^^^^^W^义乌市北苑街道季宅一区92-1-406~^^^^^^R||^^02^^^^15067919181|||M^已婚|||422827198212272025|||01^苗族|湖北省恩施土家族苗族市|||||^中国||0||0\n" +
- "NK1|1|^蒋中友|配偶||~^^^^^^13967414569~^^^^^^15067919181||||||||^^义乌市北苑街道季宅一区92-1-406\n" +
- "PV1|1|I|508^^^51944&乳腺外科^^乳腺外科病区||||376^^冯庆菁^^^^^^^^^^^0827&乳腺组||||||||||698^^黄晓芸|01|10530126||XJ01||||||||0|||||||||||||51944||20201106092003||||||1|V|30281\n" +
- "OBX|1|NM|25^年龄||37|岁|||||F|||20201106092003\n" +
- "DG1|1|N63.x00||双乳房肿块微创||A\n" +
- "IN1|1|^^^0|0";
- String msg2 = "MSH|^~\\&|HIS^1|MediInfo|MediII^1|MediInfo|20201106090519||ADT^A01^ADT_A01|f769b50c01f54ce7abdfa42652ca1f0a|P|2.4\n" +
- "EVN|A01|20201106090519||||20201106090519\n" +
- "PID||1100652958^0|1100652958^^^JG01~000165210^^^JG02~~~~C09ADC576^^^JG06~6601176457^^^JG07~C09ADC576^^^JG08~~1100652958^^^JG10|0|DingShengJue^丁胜珏||19901031000000|F|||浙江金华义乌北苑街道星城嘉园1-2-505&北苑街道星城嘉园1-2-505^^330700^330000^322000^^H~^^^^^^W^义乌市北苑街道星城嘉园1-2-505~^^^^^^R||^^02^^^^15057918211|||M^已婚||C09ADC576|33078219901031002X|||^汉族|浙江省金华市|||||^中国||0||0\n" +
- "NK1|1|^李荷香|婆婆||~^^^^^^15024561473~^^^^^^15057918211||||||||^^义乌市北苑街道星城嘉园1-2-505\n" +
- "PV1|2|I|521^^^52103&产科^^幸福颐家西||||374^^陈林海^^^^^^^^^^^0767&产A组||||||||||422^^王璐|190|10530088||XJH14||||||||0|||||||||||||52103||20201106090237||||||2|V|E0456\n" +
- "OBX|1|NM|25^年龄||30|岁|||||F|||20201106090237\n" +
- "DG1|1|Z33.X52||双胎妊娠 晚期妊娠||A\n" +
- "IN1|1|^^^0^330782\\T\\3\\T\\330782D1560000051020459524740972:C09ADC576\\T\\丁胜珏\\T\\14\\T\\\\T\\\\T\\00\\T\\\\T\\C09ADC576\\T\\6601176457\\T\\\\T\\C09ADC576\\T\\\\T\\\\T\\\\T\\|0";
- String msg3 = "MSH|^~\\&|HIS^1|MediInfo|MediII^1|MediInfo|20201106084358||ADT^A01^ADT_A01|44fd408115f54b1fa99ee0b5358c00cf|P|2.4\n" +
- "EVN|A01|20201106084358||||20201106084358\n" +
- "PID||1101525977^0|1101525977^^^JG01~000251284^^^JG02~~~~C0A6C2F40^^^JG06~6600631838^^^JG07~C0A6C2F40^^^JG08~~1101525977^^^JG10|0|ChenZhiMin^陈志敏||19920117000000|F|||浙江金华义乌北苑街道畈东村10组&北苑街道畈东村10组^^330700^330000^^^H~^^^^^^W^义乌市畈东村61-2-501~^^^^^^R||^^02^^^^15988507440|||M^已婚||C0A6C2F40|330782199201174323|||^汉族||||||^中国||0||0\n" +
- "NK1|1|^朱超群|配偶||~^^^^^^15356905170~^^^^^^15988507440||||||||^^义乌市畈东村61-2-501\n" +
- "PV1|1|I|502^^^52103&产科^^产一西||||441^^金苏君^^^^^^^^^^^0767&产A组||||||||||441^^金苏君|01|10530087||XJ01||||||||0|||||||||||||52103||20201106084133||||||1|V|30281\n" +
- "OBX|1|NM|25^年龄||28|岁|||||F|||20201106084133\n" +
- "DG1|1|Z33.X52||晚期妊娠||A\n" +
- "IN1|1|^^^0|0";
- String msg4 = "MSH|^~\\&|HIS^1|MediInfo|MediII^1|MediInfo|20201106081925||ADT^A01^ADT_A01|29f25ac25d1e4336897adaf3ce0989a9|P|2.4\n" +
- "EVN|A01|20201106081925||||20201106081925\n" +
- "PID||1101579562^0|1101579562^^^JG01~000251282^^^JG02~~~~1101579562^^^JG06~~~~1101579562^^^JG10|0|YangGanYao^杨乾垚||20170403000000|M|||浙江金华义乌城西街道万商华府3-3-20&城西街道万商华府3-3-20^^330700^330000^325100^^H~^^^^^^W^义乌市城西街道万商华府3-3-20~^^^^^^R||^^02^^^^13600595050|||S^未婚||||||^汉族||||||^中国||0||0\n" +
- "NK1|1|^杨显忠|父亲||~^^^^^^13738907387~^^^^^^13600595050||||||||^^义乌市城西街道万商华府3-3-20\n" +
- "PV1|1|I|510^^^52424&儿科(住)^^普儿病区||||443^^徐兰飞^^^^^^^^^^^0527&儿科住院医生||||||||||10216^^丁俊超|01|10530085||XJ01||||||||0|||||||||||||52424||20201106081502||||||1|V|E0456\n" +
- "OBX|1|NM|25^年龄||3|岁|||||F|||20201106081502\n" +
- "DG1|1|J02.900||急性咽炎||A\n" +
- "IN1|1|^^^0|0";
- String msg5 = "MSH|^~\\&|HIS^1|MediInfo|MediII^1|MediInfo|20201106061324||ADT^A01^ADT_A01|13d8a19057c04029b50d77aba6b2e335|P|2.4\n" +
- "EVN|A01|20201106061324||||20201106061324\n" +
- "PID||1101560659^0|1101560659^^^JG01~000251058^^^JG02~~~~1101560659^^^JG06~~~~1101560659^^^JG10|0|HuangLu^黄璐||19940306000000|F|||安徽省郎溪县毕桥镇长何新村白塘6号^^^340000^^^H~^^^^^^W^江东街道西谷村42栋2单元~^^^^^^R||^^02^^^^18969399075|||O^其他|||342522199403063943|||01||||||||0||0\n" +
- "NK1|1|^赵品超|11|&义乌青口西谷42-2-5|~^^^^^^18969399075~^^^^^^18969399075||||||||^^江东街道西谷村42栋2单元\n" +
- "PV1|1|I|503^^^52103&产科^^产二东||||816^^程芙蓉^^^^^^^^^^^0767&产A组||||||||||10213^^陈婷|01|10530071||XJ01||||||||0|||||||||||||52103||20201106061141||||||1|V|860\n" +
- "OBX|1|NM|25^年龄||26|岁|||||F|||20201106061141\n" +
- "DG1|1|O42.900||胎膜早破||A\n" +
- "IN1|1|^^^0|0";
- String msg6 = "MSH|^~\\&|HIS^1|MediInfo|MediII^1|MediInfo|20201106160446||OMP^O09|a34fce72b13647a69a6181f030eaa3b5|P|2.4\n" +
- "PID||1101632180^0|1101632180^^^JG01~000243746^^^JG02~~~~C22874529^^^JG06~6600709192^^^JG07~C22874529^^^JG08~~1101632180^^^JG10|0|FengZhangYue^冯樟月||19630402000000|F|||浙江金华义乌佛堂镇田心二村3组&佛堂镇田心二村3组^^330700^330000^322000^^H~^^^^^^W^-~^^^^^^R||^^02^^^^13957929996|||M^已婚||C22874529|33072519630402612X|||^汉族|浙江金华义乌|||||^中国||0||0\n" +
- "PV1|1|I|508^^833西^51944&乳腺外科^^乳腺外科病区||||10205^^徐高^^^^^^^^^^^0827&乳腺组||||||||||10205^^徐高|190|10529960||XJH12||||20201106150700||||0|||||||||||||51944||20201105153342||||||1|V|E0456\n" +
- "ORC|NW|1028500307||1028500307^1^1|CM|二甲双胍缓释片0.5G*1 2片 自备|1^BID^1天2次^20201106155606^^^1^^1|||||10304^^周广慧||||8^文本^0\n" +
- "RXO|^二甲双胍缓释片0.5G*1 2片 自备||||||||||1|||||||||0^^^^^0\n" +
- "RXR|75^口服^0";
- String msg7 = "MSH|^~\\&|LIS|LIS|MediII|MediII|20201108134546||OUL^R21^OUL_R21|B38ECFCD3F310B0FE0530D049FC0610E|P|2.4\n" +
- "PID|1|1100487485|1100487485^^^JG01~^^^JG02~^^^JG03~^^^JG04~^^^JG05~1100487485^^^JG06~^^^JG07~^^^JG08~^^^JG09~1100487485^^^JG10||^蒋颜颜||19960601|F\n" +
- "NTE|1||妊娠\n" +
- "PV1|1|O||R|||||||||||||||1007690958||||||||||||||||||||||||||||||||V\n" +
- "ORC|OK|1006650223^^1008548799|^^201108MYE00040||||||20201107153754|||10199^^冯玉|51964^^^^^^^^中医妇科||||51964^中医妇科\n" +
- "OBR|1|1006650223^^201108MYE00040||0000000824^安检3(+1)项|||20201107154637|||||5177302^免疫室||20201107154720|002&血清|||||24|岁|20201108134438|||F|||||||||C0030&&王京|C0046&&朱玲玲\n" +
- "NTE|1||~建议定期跟踪随访RPR并检测TPPA!\n" +
- "OBX|1|ST|0387^人免疫缺陷病毒抗原.抗体^^^HIV-Ag/Ab||阴性||阴性|N|||F|||||002^0^AA^阴性\n" +
- "OBX|2|ST|0190^丙型肝炎抗体^^^HCV-Ab||阴性||阴性|N|||F|||||002^0^AA^阴性\n" +
- "OBX|3|ST|0191^丙型肝炎核心抗原^^^HCV-Ag||阴性||阴性|N|||F|||||002^0^AA^阴性\n" +
- "OBX|4|ST|0189^梅毒螺旋体抗体^^^TP-Ab||阳性||阴性|A|||F|||||002^0^BA^阴性\n" +
- "OBX|5|ST|6078^梅毒甲苯胺红不加热血清试验^^^TRUST||弱阳性||阴性|A|||F|||||002^0^BA^阴性";
- // socketClient2F(msg1);
- // String sUid = UUID.randomUUID().toString();
- String msg9="MSH|^~\\&|PACS|PACS|MediII|MediII|20201117130815||ORU^R01|CEC9D0B4761646978F1F147620C5F374|P|2.4\n" +
- "PID||1101737952|1101737952~000251952~||XiangHuiJieZhiZi^项慧杰之子||20201113000000|M|||浙江金华义乌城店路575号&城店路575号||^^^^^^15088205523|^^^^^^||S^未婚||||||^汉族||||||^中国\n" +
- "PV1||I||R|||349^^金志彪|||||||||||01|10533496||XJ01|||||||||||||||||||||51766||20201117093701|||||||V\n" +
- "ORC|UX|1002650202|DR93790||CM||||20201117105016|B0140^^王晓庆||778^^陈淑君|51772^^^^^^^^放射科|||^|51766^新生儿科^|||82^1|||||F\n" +
- "OBR|1|1002650202|DR93790^^121649959|92091^小儿胸腹联合片^^DR^胸部||||||||51772^放射科^||||||||||20201117130815|^82|DR|C|||||||||B0140&&王晓庆|B0008&&陈爱萍\n" +
- "NTE|1||\n" +
- "OBX|1|CE|IMP|| 胸廓两侧对称,气管居中。两侧肺野纹理增多,未见明显实质性病变。双侧肋膈角锐利。心影及横膈未见明显异常。\\X000d\\\n" +
- " 腹部肠腔内可见部分积气,未见肠腔异常扩张,肠壁间距不宽,肠曲至侧腹壁距离不宽,未见阳性结石和钙化,双侧腹脂线清晰。\\X000d\\\n" +
- "||||||F\n" +
- "OBX|2|TX|GDT|| 1.两侧肺野纹理增多,请结合临床。\\X000d\\\n" +
- " 2.腹部目前未见明显异常征象。\\X000d\\\n" +
- "||||||F\n" +
- "OBX|3|RP|ZMF||||||||F";
- msg9 = msg9.replaceAll("\n", "\r").replace("\u000B", "").replace("\u001C", "").replace("\\\r","");
- PipeParser pipeParser = PipeParser.getInstanceWithNoValidation();
- Message message = pipeParser.parse(msg9);
- Terser terser = new Terser(message);
- System.out.println(terser);
- //// String station = "PID-8";//所取字段位置
- // String val1 = terser.get("/.ORDER_OBSERVATION/NTE-1");
- // StringBuilder responseMsg = new StringBuilder();
- // responseMsg.append("MSH|")
- // .append(terser.get("/." + "MSH-2") + "|")
- // .append(terser.get("/." + "MSH-3") + "|")
- // .append(terser.get("/." + "MSH-4") + "|")
- // .append(terser.get("/." + "MSH-5") + "|")
- // .append(terser.get("/." + "MSH-6") + "|")
- // .append(terser.get("/." + "MSH-7") + "||")
- // .append("ACK|" + sUid + "|")
- // .append(terser.get("/." + "MSH-11") + "|")
- // .append(terser.get("/." + "MSH-12") + "\n")
- // .append("MSA|AA|")
- // .append(terser.get("/." + "MSH-10"));
- // System.out.println(responseMsg);
- }
- public static void socketClient2F(String message) throws IOException {
- final Logger logger = LoggerFactory.getLogger(SocketClient.class);
- String host = "127.0.0.1";
- int port = 8091;
- Socket socket = new Socket(host, port);
- // 建立连接后获得输出流
- OutputStream outputStream = socket.getOutputStream();
- //首先需要计算得知消息的长度
- byte[] sendBytes = message.getBytes("UTF-8");
- //然后将消息的长度优先发送出去
- // outputStream.write(sendBytes.length >> 8);
- // outputStream.write(sendBytes.length);
- //然后将消息再次发送出去
- outputStream.write(sendBytes);
- outputStream.flush();
- socket.shutdownOutput();
- InputStream inputStream = socket.getInputStream();
- byte[] bytes = new byte[1024];
- int len;
- StringBuilder sb = new StringBuilder();
- while ((len = inputStream.read(bytes)) != -1) {
- // 注意指定编码格式,发送方和接收方一定要统一,建议使用UTF-8
- sb.append(new String(bytes, 0, len, "UTF-8"));
- }
- System.out.println(sb);
- outputStream.close();
- inputStream.close();
- socket.close();
- }
- }
|