Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
लैब परिणाम API: HL7 v2, FHIR और LOINC
लैब परिणाम HL7 v2 और FHIR R4 डेटा के रूप में कैसे यात्रा करते हैं, एक परिणाम में क्या ले जाना चाहिए, और FHIR रिकॉर्ड में लैब रिपोर्ट कैसे प्राप्त करें, एक वास्तविक उदाहरण के साथ।
एक प्रयोगशाला परिणाम API लैब परिणामों को संरचित डेटा के रूप में वितरित करता है — परीक्षण कोड, मान, इकाई, संदर्भ सीमा, स्थिति और समय — PDF के बजाय, ताकि सॉफ़्टवेयर उन्हें संग्रहीत, तुलना, चार्ट और साझा कर सके। आज वह डेटा तीन रूपों में यात्रा करता है: HL7 v2 ORU^R01 संदेश (अभी भी प्रयोगशालाओं और अस्पतालों के बीच रीढ़ की हड्डी), HL7 FHIR R4 Observation और DiagnosticReport संसाधन (आधुनिक API का प्रारूप), और प्रयोगशाला-विशिष्ट CSV, JSON या PDF निर्यात। यह पृष्ठ बताता है कि टुकड़े कैसे फिट होते हैं, एक अच्छे लैब परिणाम API में क्या होना चाहिए, और Anpheros के साथ रोगी के FHIR रिकॉर्ड में लैब डेटा कैसे प्राप्त करें।
कौन लैब परिणाम का आदान-प्रदान करता है, और किस प्रारूप में
| से → तक | आज का सामान्य प्रारूप | नोट्स |
|---|---|---|
| प्रयोगशाला → अस्पताल या क्लिनिक सिस्टम | HL7 v2 ORU^R01 (अमेरिका में अक्सर HL7 v2.5.1 Laboratory Results Interface guide के अनुसार) | ऑर्डर दूसरी दिशा में ORM/OML संदेशों के रूप में जाते हैं |
| प्रयोगशाला → सार्वजनिक स्वास्थ्य एजेंसी | HL7 v2 इलेक्ट्रॉनिक लैब रिपोर्टिंग, तेजी से FHIR | केवल रिपोर्ट करने योग्य स्थितियाँ |
| क्लिनिक सिस्टम → रोगी ऐप | FHIR R4 एक रोगी-पहुँच API के माध्यम से | अमेरिका में, प्रमाणित EHRs लैब परिणामों को FHIR (US Core) के रूप में उजागर करते हैं; यूरोपीय संघ में European Health Data Space प्रयोगशाला परिणामों को अपनी प्राथमिकता डेटा श्रेणियों में सूचीबद्ध करता है |
| प्रयोगशाला → रोगी | PDF रिपोर्ट, पोर्टल, कभी-कभी CSV | वह प्रारूप जो अधिकांश रोगी वास्तव में प्राप्त करते हैं |
| ऐप → AI मॉडल | Observations से निर्मित संरचित संदर्भ | विश्वसनीय होने के लिए कोड और इकाइयों की आवश्यकता होती है |
दिशा मायने रखती है: एक प्रयोगशाला सूचना प्रणाली (LIS) परिणाम के लिए सत्य का स्रोत है, और प्रत्येक डाउनस्ट्रीम सिस्टम एक प्रति रखता है। प्रतियों को भरोसेमंद क्या बनाता है, यह है कि प्रत्येक एक कोड, इकाई, सीमा और मान के मूल को रखता है।
एक लैब परिणाम में क्या ले जाने की आवश्यकता है
केवल "ग्लूकोज 126" कहने वाला परिणाम सुरक्षित रूप से व्याख्या नहीं किया जा सकता है। एक पूर्ण परिणाम में शामिल हैं:
- एक मानक कोड। LOINC एनालाइट, नमूना और विधि की पहचान करता है:
2345-7सीरम या प्लाज्मा में ग्लूकोज है,2339-0पूरे रक्त में ग्लूकोज है। लैब का अपना कोड इसके बगल में यात्रा कर सकता है। - एक इकाई के साथ एक मान। आदर्श रूप से एक UCUM इकाई (
mg/dL,mmol/L,10*3/uL), ताकि दो लैब से मानों को परिवर्तित और तुलना किया जा सके। - संदर्भ सीमा जो लैब ने उपयोग की है, और एक व्याख्या ध्वज (H, L, N…) जब लैब एक देता है।
- स्थिति: प्रारंभिक, अंतिम, सही या संशोधित। सुधार होते हैं; एक API को आपको पुराने को खोए बिना नए संस्करण को देखने की अनुमति देनी चाहिए।
- समय: नमूना कब एकत्र किया गया था (
effectiveDateTime) और परिणाम कब जारी किया गया था (issued)। - उत्पत्ति: किस प्रयोगशाला ने इसका उत्पादन किया और यह किस रिपोर्ट या आदेश से संबंधित है।
FHIR R4 में प्रत्येक परिणाम Observation है जिसमें category = laboratory है, और रिपोर्ट जो उन्हें समूहित करती है वह एक DiagnosticReport है जो result में अवलोकन सूचीबद्ध करती है। दोनों के मान्य उदाहरण, सबसे अधिक बार रिपोर्ट की जाने वाली सत्यापनकर्ता की गलतियों के साथ, FHIR R4 JSON उदाहरण में हैं - DiagnosticReport उदाहरण भी देखें।
HL7 v2 और FHIR साथ-साथ
वही लिपिड पैनल परिणाम, जैसा कि आज अधिकांश लैब भेजती हैं और जैसा कि एक API को इसे स्टोर करना चाहिए:
OBX|1|NM|2093-3^Cholesterol^LN||212|mg/dL|<200|H|||F|||20261002074500
| HL7 v2 फ़ील्ड | अर्थ | FHIR R4 Observation तत्व |
|---|---|---|
OBX-3 2093-3^Cholesterol^LN |
टेस्ट, LOINC में कोडित | code.coding (सिस्टम http://loinc.org) |
OBX-5 212, OBX-2 NM |
संख्यात्मक मान | valueQuantity.value |
OBX-6 mg/dL |
इकाई | valueQuantity.unit |
OBX-7 <200 |
संदर्भ सीमा | referenceRange.high |
OBX-8 H |
असामान्य फ़्लैग | interpretation |
OBX-11 F |
अंतिम परिणाम | status = final |
| OBX-14 | अवलोकन समय | effectiveDateTime |
दोनों के बीच रूपांतरण ज्यादातर फ़ील्ड मैपिंग है। कठिन हिस्से कहीं और हैं: लैब जो LOINC के बजाय अपने स्वयं के कोड भेजती हैं, संख्याओं को टेक्स्ट के रूप में लिखा जाता है ("6,4", "<5"), कई नोटेशन में रेंज, और रिपोर्ट जो टाइमआउट के बाद फिर से भेजी जाती हैं। मेडिकल डेटा को सामान्य कैसे करें उन पर विस्तार से बताता है।
Anpheros के साथ FHIR रिकॉर्ड में लैब परिणाम प्राप्त करना
Anpheros प्रत्येक रोगी के रिकॉर्ड को HL7 FHIR R4 के रूप में संग्रहीत करता है और इसमें एक लैब कनेक्टर है: एक अनुरोध HL7 v2, CSV या JSON के रूप में एक पूरी रिपोर्ट लेता है और LOINC कोड, संदर्भ रेंज, व्याख्या और प्रोवेनेंस के साथ प्रयोगशाला अवलोकन (Observations) लौटाता है।
curl -s -X POST "https://platform.anpheros.com/v1/patients/$PID/labs/import" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: x-application/hl7-v2+er7" \
-H "X-Anpheros-Source-System: springfield-lis" \
--data-binary @lipid-panel.hl7
तीन-पंक्ति वाले लिपिड पैनल (कोलेस्ट्रॉल, HDL, ट्राइग्लिसराइड) के लिए, प्लेटफ़ॉर्म के स्थानीय रन से उत्तर है:
{
"created": 3, "skipped": 0, "unmapped": [], "warnings": [],
"observations": [
{"id": "26ed9219-…", "marker": "Cholesterol", "code": "2093-3", "system": "http://loinc.org",
"value": 212.0, "unit": "mg/dL", "date": "2026-10-02T07:45:00Z"},
{"id": "2633d1d4-…", "marker": "HDL cholesterol", "code": "2085-9", "system": "http://loinc.org",
"value": 48.0, "unit": "mg/dL", "date": "2026-10-02T07:45:00Z"},
{"id": "a02520bb-…", "marker": "Triglyceride", "code": "2571-8", "system": "http://loinc.org",
"value": 165.0, "unit": "mg/dL", "date": "2026-10-02T07:45:00Z"}
]
}
प्रत्येक संग्रहीत परिणाम एक मानक FHIR R4 अवलोकन (Observation) है, जिसे किसी भी FHIR क्लाइंट द्वारा पढ़ा जा सकता है:
{
"resourceType": "Observation",
"status": "final",
"category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
"code": {"coding": [{"system": "http://loinc.org", "code": "2093-3",
"display": "Cholesterol [Mass/volume] in Serum or Plasma"}], "text": "Cholesterol"},
"subject": {"reference": "Patient/4c3062d9-…"},
"effectiveDateTime": "2026-10-02T07:45:00Z",
"valueQuantity": {"value": 212.0, "unit": "mg/dL"},
"interpretation": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", "code": "H"}]}],
"referenceRange": [{"high": {"value": 200.0, "unit": "mg/dL"}}]
}
एक ही संदेश को फिर से भेजने से कुछ भी नया नहीं बनता है ("created": 0, "skipped": 3): प्रत्येक पंक्ति को रिपोर्ट आईडी, कोड, तिथि और मान से एक स्थिर पहचानकर्ता मिलता है। जिन मार्करों को प्लेटफ़ॉर्म LOINC पर मैप नहीं कर सकता है, वे लैब के कोड को बनाए रखते हैं और unmapped में वापस आते हैं, ताकि आप स्रोत पर मैपिंग को ठीक कर सकें।
परिणामों को वापस पढ़ना एक मानक FHIR खोज है:
curl -s "https://platform.anpheros.com/fhir/R4/Observation?patient=$PID&category=laboratory&code=http://loinc.org|2093-3" \
-H "Authorization: Bearer $KEY"
उसी डेटा में आने और जाने के अन्य तरीके:
- सीधे FHIR:
POST /fhir/R4/Observation, याDiagnosticReportऔर उसके अवलोकन (Observations) को एक साथ एक ट्रांजेक्शन बंडल (transaction Bundle)। - इवेंट्स: प्रत्येक अवलोकन (Observation) के लिए एक
resource.createdवेबहुक, ताकि परिणाम आने पर कोई क्लिनिक या ऐप प्रतिक्रिया कर सके। - लोगों और AI के लिए: रोगी अपने ऐप में परिणाम देखता है; वे जिन एप्लिकेशन को पढ़ने की सहमति देते हैं;
POST /v1/contextएक AI मॉडल को स्रोत-लेबल सारांश प्रदान करता है जिसमें हाल के लैब मान शामिल हैं। - प्रोवेनेंस: प्रत्येक आयातित परिणाम
author_type = import, स्रोत सिस्टम और रिपोर्ट आईडी (मेडिकल डेटा प्रोवेनेंस) को रिकॉर्ड करता है।
पूर्ण वॉक-थ्रू, एक CSV रिपोर्ट, एक HL7 v2 संदेश, अनमैप्ड मार्कर और सिंथेटिक रोगी पर पुनः भेजे गए रिपोर्ट के साथ, ट्यूटोरियल FHIR रिकॉर्ड में प्रयोगशाला परिणाम कैसे आयात करें में है।
भेजने से पहले परिणामों की जाँच करें
निःशुल्क FHIR R4 validator एक Observation की संरचना और आवश्यक मान सेट की जाँच करता है, और eu-lab प्रोफ़ाइल के साथ यह यह भी जाँचता है कि प्रयोगशाला परिणाम में क्या होना चाहिए: laboratory श्रेणी, एक LOINC कोड, एक विषय, एक अंतिम-प्रकार की स्थिति, एक समय, एक मान, एक UCUM इकाई और एक संदर्भ सीमा। वही जाँचें प्लेटफ़ॉर्म पर POST /fhir/R4/Observation/$validate?profile=eu-lab के माध्यम से चलती हैं।
लैब परिणाम API चुनना: एक चेकलिस्ट
- क्या यह FHIR R4 Observations को LOINC कोड के साथ स्टोर करता है, या अपने स्वयं के स्कीमा में पंक्तियों के रूप में?
- क्या यह उन प्रारूपों को स्वीकार कर सकता है जो आपके लैब वास्तव में भेजते हैं (अधिकांश अस्पतालों में HL7 v2, छोटे लैब से CSV या PDF)?
- किसी मार्कर का क्या होता है जिसे यह मैप नहीं कर सकता: क्या इसे अस्वीकार कर दिया जाता है, छोड़ दिया जाता है, या लैब के कोड के साथ रखा जाता है?
- क्या रिट्री सुरक्षित हैं, या दोबारा भेजे गए रिपोर्ट से डुप्लिकेट बनते हैं?
- क्या सुधारे गए परिणाम वर्शन किए जाते हैं, जिसमें पहले का मान अभी भी पढ़ा जा सकता है?
- हर मान का मूल रिकॉर्ड किया जाता है और रोगी को दिखाई देता है?
- परिणाम कौन पढ़ सकता है, और क्या यह रोगी की सहमति से तय होता है?
एंफेरोस क्या नहीं करता है
एंफेरोस एक प्रयोगशाला सूचना प्रणाली नहीं है और यह वाणिज्यिक प्रयोगशाला नेटवर्कों से जुड़ा नहीं है: प्रयोगशाला, क्लिनिक या रोगी का ऐप रिपोर्ट भेजता है। यह लैब ऑर्डर को रूट नहीं करता है, इस API के माध्यम से PDF रिपोर्ट नहीं पढ़ता है (एंफेरोस डेली ऐप रोगी की ओर से फोटो और PDF से परिणाम निकालता है), और परिणामों की नैदानिक व्याख्या नहीं करता है। इकाइयाँ उसी रूप में संग्रहीत की जाती हैं जैसे प्रयोगशाला उन्हें भेजती है; उन्हें UCUM कोड में परिवर्तित करना प्रेषक पर निर्भर है, जैसा कि चिकित्सा डेटा को सामान्य कैसे करें में वर्णित है।
अक्सर पूछे जाने वाले प्रश्न
लैब रिजल्ट्स एपीआई क्या है?
एक इंटरफ़ेस जो सॉफ़्टवेयर को संरचित डेटा के रूप में प्रयोगशाला परिणामों को भेजने या प्राप्त करने की अनुमति देता है — एक कोडित परीक्षण, एक इकाई के साथ एक मान, एक संदर्भ सीमा, एक स्थिति और एक समय — न कि एक दस्तावेज़ के रूप में। आधुनिक लैब रिजल्ट्स एपीआई HL7 FHIR R4 Observation और DiagnosticReport संसाधनों का उपयोग करते हैं; अधिकांश प्रयोगशालाएँ अभी भी HL7 v2 ORU^R01 संदेश उत्सर्जित करती हैं।
लैब परीक्षणों की पहचान किस कोड सिस्टम से होती है?
LOINC। प्रत्येक LOINC कोड एनालाइट, नमूना और अक्सर विधि का नाम देता है, इसलिए 2345-7 (सीरम या प्लाज्मा में ग्लूकोज) और 2339-0 (पूर्ण रक्त में ग्लूकोज) अलग-अलग परिणाम हैं। इकाइयों को UCUM में सबसे अच्छी तरह से व्यक्त किया जाता है।
Observation और DiagnosticReport में क्या अंतर है?
एक Observation एक परिणाम है, जैसे कोलेस्ट्रॉल 212 mg/dL। एक DiagnosticReport समग्र रिपोर्ट है — जो पैनल ऑर्डर किया गया था, किसने जारी किया और कब — और result में अपने Observations को सूचीबद्ध करता है।
क्या मैं HL7 v2 लैब संदेशों को FHIR सर्वर में आयात कर सकता हूँ?
हाँ। प्रत्येक OBX सेगमेंट एक Observation (OBX-3 से code, OBX-5 और OBX-6 से valueQuantity, OBX-7 से referenceRange, OBX-8 से interpretation) में मैप होता है। Anpheros लैब कनेक्टर इसे एक अनुरोध में करता है और Provenance में लैब की रिपोर्ट आईडी रखता है।
जब कोई रिपोर्ट फिर से भेजी जाती है तो डुप्लिकेट लैब परिणामों से कैसे बचें?
प्रत्येक परिणाम को रिपोर्ट, परीक्षण, समय और मान से प्राप्त एक स्थिर पहचानकर्ता दें, और उन पंक्तियों को छोड़ दें जिनकी पहचानकर्ता पहले से मौजूद है। Anpheros लैब कनेक्टर यह स्वचालित रूप से करता है और गिनती को skipped के रूप में रिपोर्ट करता है।
संबंधित
- HL7 v2 से FHIR मैपिंग: हर सेगमेंट और OBX फ़ील्ड
- FHIR रिकॉर्ड में प्रयोगशाला परिणाम कैसे आयात करें: चरण-दर-चरण ट्यूटोरियल
- लैब कनेक्टर: एंडपॉइंट संदर्भ
- मेडिकल डेटा को कैसे सामान्य करें: LOINC, UCUM, तिथियां, रेंज और डुप्लिकेट
- मेडिकल डेटा प्रोवेनेंस समझाया गया
- FHIR कोड सिस्टम
- क्लिनिक सिस्टम को FHIR बैकएंड के साथ कैसे एकीकृत करें
- FHIR बनाम HL7 v2: व्यावहारिक अंतर
- क्लिनिकल डैशबोर्ड के लिए HL7 v2 और FHIR: लैब संदेश से डैशबोर्ड टाइल तक
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card