أجهزة كتير (مجلومي، ميسبا) بتشتغل Serial على منفذ COM ببروتوكول ASTM — مش شبكة/HL7 زي DH36. الخطة دي بتضيف دعم serial+ASTM للميدل وير والكاتالوج. (بحث + تصميم قبل التنفيذ.)
| الجهاز | التوصيل | البروتوكول | الإعدادات |
|---|---|---|---|
| Maglumi (Snibe) مناعي/هرمونات | RS-232 (COM) أو TCP/IP | ASTM E1394 (بعضها HL7) | 9600 / 8 / N / 1 · null-modem |
| Mispa (Agappe) كيمياء/دم | RS-232 (COM) غالباً | ASTM (E1381+E1394) | 9600 / 8 / N أو odd / 1 |
| DH36 (الموجود) | TCP (شبكة) | HL7 (MLLP) | مدعوم بالفعل |
pyserial (صغيرة).ENQ/ACK/NAK/EOT + إطارات STX..ETX+checksum (مش MLLP).H/P/O/R/L (Header/Patient/Order/Result/Terminator) — مش OBX بتاع HL7.serial_server.py: يفتح منفذ COM بـpyserial (port/baud/bytesize/parity/stopbits من الإعدادات) ويقرا بايتات باستمرار.DeviceServer (TCP) — الـapp يختار transport حسب نوع الاتصال.astm.py: handshake (ENQ→ACK, إطار→ACK, EOT) + تجميع الإطارات + تحقّق checksum.drivers/astm_generic.py: يقرا سجلات H/P/O/R → باركود (من O) + نتائج (من R: كود، قيمة، وحدة، فلاج).pip install pyserial).ASTM بيدعم إن الجهاز يستعلم عن أوردرات العينة من الـLIS. نبدأ باستقبال النتائج بس (أبسط ويغطي 90%)، ونضيف الرد على الاستعلام بعدين لو محتاجين.
astm_serial، protocols=[astm, serial]، + تحاليله (هرمونات: TSH, T3, T4, FSH, LH…) ورنجاتها.astm_serial، + تحاليله (كيمياء أو دم حسب الموديل).زي DH36 — لو بعتّلي عينة ASTM حقيقية من Maglumi/Mispa (أو قائمة تحاليلها وأكوادها)، أعبّي الكاتالوج صح. ولو مش متاح دلوقتي، أبني الأنواع فاضية وتتعبّى بعدين.
لما يكون النوع serial، فورم النسخة يعرض حقول الـCOM بدل البورت:
| الحقل | مثال |
|---|---|
| منفذ COM | COM3 |
| Baud rate | 9600 |
| Data bits / Parity / Stop bits | 8 / None / 1 |
astm.py + drivers/astm_generic.py + اختبار بعينة ASTM وهمية.serial_server.py بـpyserial + اختيار transport حسب الاتصال + تثبيت pyserial على الجهاز.astm_serial يخدم Maglumi و Mispa (ASTM قياسي)، ولا driver منفصل لكل جهاز؟