HL7، المعروف أيضًا باسم المستوى الصحي 7، هو معيار للمراسلة والمعايير السريرية يستخدم لتكامل المعلومات الإلكترونية وتبادلها وإدارتها واسترجاعها في الأنظمة الصحية المختلفة. وهو عبارة عن بروتوكول يعتمد على المعاملات التي تنشأ عن أحداث، مثل دخول المريض إلى المستشفى. HL7 يسهل تبادل المعلومات في مجال الصحة العامة.
هذا معيار دولي مقبول على نطاق واسع لتبادل البيانات في القطاع الصحي، كونه مستقلاً عن المنصة والتكنولوجيا المستخدمة.
عادةً ما تستخدم أنظمة الرعاية الصحية تطبيقات مختلفة، تم تطويرها بلغات برمجة مختلفة وبوظائف متنوعة. على سبيل المثال، غالبًا ما يكون لدى المستشفيات أنظمة معقدة ومخصصة، بينما يستخدم الممارسون العامون غالبًا برامج إدارة الممارسات الجاهزة. وقد تستخدم معاهد البحوث الطبية، من جانبها، برامج تشكل جزءًا من شبكة أكبر، مثل شبكة الجامعة. وفي العديد من المناسبات، تحتاج هذه المؤسسات إلى تبادل البيانات حول المرضى.
الغرض من HL7 هو تمكين مؤسسات الرعاية الصحية من إنشاء بيانات متسقة، يمكن لأي شخص مرخص له الوصول إليها، بغض النظر عن النظام الذي يستخدمه. تتطلب قابلية التشغيل البيني بين مؤسسات الرعاية الصحية أن تستخدم واجهات الأنظمة المختلفة بروتوكولًا مشتركًا مثل HL7.
بشكل عام، يتم إرسال رسائل HL7 باستخدام بروتوكول TCP/IP عبر شبكة محلية، مثل شبكة المستشفى. يتم إرسال بيانات TCP/IP كتدفق من البايتات، مما يسمح بإرسال رسائل متعددة في دفق مستمر. يمكن أن يسبب هذا ارتباكًا، لذا من الضروري تحديد نقطة البداية والنهاية لكل رسالة بوضوح. ولهذا الغرض، يتم استخدام بروتوكول الطبقة الدنيا الأدنى (MLP)، الذي يضيف رأسًا وتذييلًا لكل رسالة.
يشير الحد الأدنى من بروتوكول الطبقة السفلية (MLP) إلى بروتوكول أساسي يعمل في الطبقات السفلية من مكدس الشبكة، مثل الطبقة المادية أو طبقة ارتباط البيانات. يوفر الوظائف الأساسية اللازمة للاتصال بين أجهزة الشبكة، مع تحديد كيفية تغليف رسالة HL7 برأس وتذييل لضمان تحديد بداية ونهاية كل رسالة، وكذلك بداية الرسالة التالية، بشكل صحيح.
public class HL7Message { private String message; public HL7Message(String message) { this.message = message; } public String getMessageType() { return message.split("\\|")[8]; } public String getPatientID() { return message.split("\\|")[3]; } public String getPatientName() { return message.split("\\|")[5]; } public void printDetails() { System.out.println("HL7 Message Details:"); System.out.println("Message Type: " getMessageType()); System.out.println("Patient ID: " getPatientID()); System.out.println("Patient Name: " getPatientName()); } public static void main(String[] args) { String hl7Message = "MSH|^~\\&|HIS|RIH|EKG|EKG|202308120830||ADT^A01|MSG00001|P|2.5|" "PID|1||123456||DOE^JOHN^A||19680219|M|||123 MAIN ST^^ANYTOWN^OH^12345|(555)555-1234|||M|NON|||123-45-6789"; HL7Message message = new HL7Message(hl7Message); message.printDetails(); } }
فئة HL7Message: تحتوي هذه الفئة على رسالة HL7 وتوفر طرقًا لاستخراج وعرض بعض التفاصيل الأساسية مثل نوع الرسالة ومعرف المريض واسم المريض.
getMessageType: تستخرج هذه الطريقة نوع الرسالة من HL7 (الحقل 9).
getPatientID: تستخرج هذه الطريقة معرف المريض (الحقل 4).
getPatientName: تستخرج هذه الطريقة اسم المريض (الحقل 6).
printDetails: هذه الطريقة تطبع تفاصيل رسالة HL7.
main: في الطريقة الرئيسية، يمكنك تحديد نموذج رسالة HL7، وإنشاء كائن HL7Message مع الرسالة، وطباعة التفاصيل.
هذا البرنامج أساسي ويتعامل فقط مع رسالة HL7 البسيطة جدًا. اعتمادًا على المتطلبات، قد تحتاج إلى تطبيق أكثر تقدمًا للتعامل مع البنية الكاملة لرسائل HL7.
public class HL7Message { private String sendingApplication; private String sendingFacility; private String receivingApplication; private String receivingFacility; private String messageDateTime; private String messageType; private String messageControlID; private String processingID; private String versionID; private String patientID; private String patientLastName; private String patientFirstName; private String patientDOB; private String patientGender; private String patientAddress; private String patientPhoneNumber; private String patientSSN; // Constructor public HL7Message(String sendingApplication, String sendingFacility, String receivingApplication, String receivingFacility, String messageDateTime, String messageType, String messageControlID, String processingID, String versionID, String patientID, String patientLastName, String patientFirstName, String patientDOB, String patientGender, String patientAddress, String patientPhoneNumber, String patientSSN) { this.sendingApplication = sendingApplication; this.sendingFacility = sendingFacility; this.receivingApplication = receivingApplication; this.receivingFacility = receivingFacility; this.messageDateTime = messageDateTime; this.messageType = messageType; this.messageControlID = messageControlID; this.processingID = processingID; this.versionID = versionID; this.patientID = patientID; this.patientLastName = patientLastName; this.patientFirstName = patientFirstName; this.patientDOB = patientDOB; this.patientGender = patientGender; this.patientAddress = patientAddress; this.patientPhoneNumber = patientPhoneNumber; this.patientSSN = patientSSN; } // Método para generar el mensaje HL7 public String generateHL7Message() { StringBuilder hl7Message = new StringBuilder(); // MSH Segment hl7Message.append("MSH|^~\\&|") .append(sendingApplication).append("|") .append(sendingFacility).append("|") .append(receivingApplication).append("|") .append(receivingFacility).append("|") .append(messageDateTime).append("||") .append(messageType).append("|") .append(messageControlID).append("|") .append(processingID).append("|") .append(versionID).append("\r"); // PID Segment hl7Message.append("PID|1||") .append(patientID).append("||") .append(patientLastName).append("^") .append(patientFirstName).append("||") .append(patientDOB).append("|") .append(patientGender).append("|||") .append(patientAddress).append("|") .append(patientPhoneNumber).append("|||||||") .append(patientSSN).append("\r"); return hl7Message.toString(); } public static void main(String[] args) { // Llenar los datos del objeto HL7Message HL7Message message = new HL7Message( "HIS", // sendingApplication "RIH", // sendingFacility "EKG", // receivingApplication "EKG", // receivingFacility "202308120830", // messageDateTime "ADT^A01", // messageType "MSG00001", // messageControlID "P", // processingID "2.5", // versionID "123456", // patientID "DOE", // patientLastName "JOHN", // patientFirstName "19680219", // patientDOB "M", // patientGender "123 MAIN ST^^ANYTOWN^OH^12345", // patientAddress "(555)555-1234", // patientPhoneNumber "123-45-6789" // patientSSN ); // Generar y mostrar el mensaje HL7 String hl7Message = message.generateHL7Message(); System.out.println("Generated HL7 Message:\n" hl7Message); } }
فئة HL7Message: تحتوي هذه الفئة على الحقول الضرورية لرسالة HL7 البسيطة، بما في ذلك معلومات حول التطبيق المرسل، والتطبيق المتلقي، وتفاصيل المريض.
إنشاء رسالة HL7: تقوم هذه الطريقة بإنشاء رسالة HL7 باستخدام الحقول المتوفرة وتنسيقها بتنسيق HL7 القياسي. يتم إنشاء مقطعين هنا: MSH (رأس الرسالة)
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3