ขอบคุณมากครับ เทพ Arm
 แต่มีข้อเสนอแนะนิดหน่อยครับ เรื่อง External Cause จากรูปที่แนบมาครับในกรณีที่เป็นรหัส W,X,Y โปรแกรมประกันสังคมจะให้ระบุในช่อง  External Cause ถ้าปรับตามนี้ได้ ก็Ok เลยครับ
อ้อเฉพาะ  diag  ที่ขึ้นต้นด้วย  W, X , Y  ใช่ไหมครับ  
เดี่ยวแก้ไขให้ครับ
จริงๆ ตัวล่าสุดก็อิงตาม  diagetype  = 5 นะครับ  ตามรูปนะครับ 
ผมเลยเพิ่มตัวเลือกว่าในกรณีที่  diagtype  ไม่เท่ากับ 5 ก็ให้เลือกตัวก่อนนำเข้านะครับ
โดย  CauseCode  จะดึงจาก icd10  ที่ตาราง  ovstdiag  ที่มีประเภท  diagtype = ตัวที่กำหนดครับ
โค้ดตัวอย่าง
CauseCode :=
            TransFormICD10(vartostr(getsqldata('select icd10 from ovstdiag where vn = "' +
            tc.fieldbyname('vn').asstring + '" ' +
            ' and diagtype="'+copy(lookup_diagtype.text,1,1)+'"')));