groovy - Setting fields on a new HL7 Message wrapped in Terser -


ca.uhn.hl7v2.util का उपयोग करने का प्रयास करते समय। खाली क्षेत्र को ca.uhn के किसी विशिष्ट उपवर्ग पर सेट करने के लिए। .hl7v2.model.Message (इस मामले में ca.uhn.hl7v2.model.v251.message.ORU_R01), मुझे .each {} समापन के दौरान कोई त्रुटि संदेश प्राप्त नहीं होता है और इसके बाद संदेश ऑब्जेक्ट में कोई फ़ील्ड आबादी नहीं है।

hl7Map क्लास तात्कालिकता पर आबादी है, जैसे मानों के साथ: def hl7Map = ["HL7MessageFields": ['PID-3-1': "आंतरिक क्रम मानचित्र कुंजी", 'पीआईडी ​​-3-4': "आंतरिक आदेश

  def तारीख = नई तिथि () def प्रारूप = नया SimpleDateFormat (hl7map ["dateFormat"])। प्रारूप (तारीख) // संदेश हैडर ऑब्जेक्ट पर सेट तिथि hl7Map ["MSH"] ["- 7"] = प्रारूप डीएफ़ संदेश = (context.getModelClassFactory)। GetMessageClass (Hl7Map ["MessageInstantianceMap"] ["संदेशप्रकार"], hl7Map ["संदेश इंस्टेंटियामामैप "] [" वर्जन "], सच) क्लास के रूप में) .न्यूइन्स्टेंस () टार्सर टार्सर = न्यू टीर्सर (मेसेज) hl7Map [" HL7MessageFields "]। प्रत्येक {टार्सर.सेट (यह.की, ऑर्डर [it.value]) } Println संदेश वापसी संदेश  

}

एन्कोडिंग के बारे में कोई आउटपुट और त्रुटि में विधि परिणामों के अंत में, MSH-1 एक आवश्यक फ़ील्ड है, पाइप डिलीमेंटेटर खाली। यदि उपरोक्त कोड message.initQuickstart ("ORU", "R01", "T") का उपयोग करता है, तो केवल डिफ़ॉल्ट initQuickstart फ़ील्ड पॉपुलेटेड हैं।

यदि hl7Map ["HL7MessageFields"] में 'it.key 'जो एक वैध समूह / सेगमेंट फ़ील्ड नहीं है, एक त्रुटि टीर्स द्वारा लॉग की गई है कि वह मान ढूंढने में विफल रहा है, ऊपर दिए गए कोड को ठीक से फ़ॉर्मेट किए गए नक्शे से कोई त्रुटि नहीं होती है।

क्यों मैं त्रुटियों को प्राप्त नहीं कर रहा हूं, फिर भी मेरा संदेश खाली है, और संदेश को उचित terser.set (params) के साथ भरना है?

संदेश वस्तु के आंतरिक प्रतिनिधित्व में वृक्ष की तरह एक संरचना होती है जहां एमएसएच सेगमेंट माता-पिता है, और सेगमेंट्स एमएसएच सेगमेंट के बाद बच्चे के खंड हैं इस संरचना के कारण, MSH फ़ील्ड को मेरे मूल कोड के रूप में सेट किया जाना चाहिए, लेकिन बाल खंड फ़ील्ड "/।" के साथ सेट होना चाहिए मानचित्र की कुंजी तैयार की गई है (यानी "पीआईडी ​​-3-1" को "टीसीआर .सेट () लाइन में" /। पीआईडी ​​-3-1 "होना चाहिए।

एचएल 7 मैप प्रारूप को बेहतर समर्थन के लिए अपडेट किया गया था इस terser.set () वाक्यविन्यास की आवश्यकता है।

टीर्स के दस्तावेज से, / इंगित करता है कि खोज संदेश की जड़ से शुरू होनी चाहिए, और एक HAPI मेल सूची लिंक पर अब से मैंने खो दिया है,

डीईफ़ बिल्ड एचएल 7 मेसेज (ऑर्डर) दिनांक () डीएफ़ प्रारूप = नया सरलडेटफ़ॉर्मेट (hl7map ["dateFormat"])। प्रारूप (तिथि) // संदेश हैडर ऑब्जेक्ट पर सेट तिथि hl7Map ["MSH"] ["- 7"] = प्रारूप // देखें http: / /stackoverflow.com/questions/576955/groovy-way-to-dynamic-invoke-a-static-method // और //http://stackoverflow.com/questions/7758398/groovy-way-to-dynamic-instantiate -ए-क्लास-इन-स्ट्रिंग डेफ संदेश = (context.getModelClassFactory ()। GetMessageClass (hl7Map ["MessageInstantianceMap"] ["मी क्लास के रूप में) "नया संस्करण", "hl7map" ["messageInstantianceMap"] ["संस्करण"], सच) .न्यूअरस्टाइन () टार्सर टार्सर = न्यू टीर्सर (संदेश) hl7Map ["MSH"]। प्रत्येक {terser.set ("MSH" स्ट्रिंग के रूप में प्रत्येक {terser.set (("/."+ it.key) स्ट्रिंग के रूप में [it.value] के रूप में)} println संदेश वापसी का संदेश}। Hl7Map [" HL7MSHChildSegmentMap "]।


Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

c++ - Qt-how to convert a QByteArray to struct -

c# - How to know the number of Threads created and limit the Tasks accordingly -