2016-09-30 6 views
1

내가 HL7 파일을 구문 분석하려고에 데이터를 표시하지hl7apy 내가 HL7 샘플 아래 데</strong><strong>hl7apy를 사용하여 여러 OBX 필드

샘플 :

MSH|^~\&|XXXX|C|PRIORITYHEALTH|PRIORITYHEALTH|20080511103530||ORU^R01|Q335939501T337311002|P|2.3||| 
PID|1||94000000000^^^Priority Health||LASTNAME^FIRSTNAME^INIT||19460101|M||||| 
PD1|1|||1234567890^PCPLAST^PCPFIRST^M^^^^^NPI| 
OBR|1||185L29839X64489JLPF~X64489^ACC_NUM|JLPF^Lipid Panel - C||||||||||||1694^DOCLAST^DOCFIRST^^MD||||||20080511103529||| 
OBX|1|NM|JHDL^HDL Cholesterol (CAD)|1|62|CD:289^mg/dL|>40^>40|""||""|F|||20080511103500|||^^^""| 
OBX|2|NM|JTRIG^Triglyceride (CAD)|1|72|CD:289^mg/dL|35-150^35^150|""||""|F|||20080511103500|||^^^""| 
OBX|3|NM|JVLDL^VLDL-C (calc - CAD)|1|14|CD:289^mg/dL||""||""|F|||20080511103500|||^^^""| 
OBX|4|NM|JLDL^LDL-C (calc - CAD)|1|134|CD:289^mg/dL|0-100^0^100|H||""|F|||20080511103500|||^^^""| 
OBX|5|NM|JCHO^Cholesterol (CAD)|1|210|CD:289^mg/dL|90-200^90^200|H||""|F|||20080511103500|||^^^""| 

코드 :

from hl7apy import parser 
from hl7apy.exceptions import UnsupportedVersion 

hl7 = open('sample.hl7', 'r').read() 

try: 
    m = parser.parse_message(hl7) 
except UnsupportedVersion: 
    m = parser.parse_message(hl7.replace("n", "r")) 

    print(m.obx.obx_1.value) 

하지만 OBX (반복 g 세그먼트) 나는 어떤 데이터도 얻지 못하고있다. 아무것도 표시하지 않는다. 내가 뭘 잘못하고 있니?

+0

을 읽을 것을 권장합니다? – sqlab

+0

@sqlab 내 질문을 업데이트하십시오. – animal

+0

'hl7apy'보다는'hl7'을 사용해 보셨습니까? –

답변

2

코드에 오류가 있습니다. 그것은 당신이 (a) 군 (들)

처음 OBX 세그먼트 등의 첫 번째 값 m.ORU_R01_RESPONSE.ORU_R01_ORDER_OBSERVATION.ORU_R01_OBSERVATION.OBX[0].obx_1.value 시도에서 필드를 액세스 할 경우는, 모든 그룹을 작성해야

hl7.replace("\n", "\r") 

해야한다 에.

나는 당신이 OBX 세그먼트에서 읽을 어떻게 Improve hl7apy documentation

+0

그룹을 구문 분석 (읽기)하고 싶습니다. 어떻게해야합니까? 나는 그것을 읽고 싶은 hl7을 만들려고하지 않고있다. 당신이 공유 한 것은 무엇이든 읽지 않으려 고 쓰는 것 같습니다. – animal

+0

파이썬을 사용하지 않기 때문에 나는 워드 프로세서에서 추측 할 수 있습니다 – sqlab

+0

시도했지만 오류가 발생했습니다. – animal