Lokal gespeichert
Einmalig — lokal gespeichert, nie weitergegeben
Format wählen:
PDF
HL7 v2
HL7 FHIR
PDF-Befund hochladen
Datei hierher ziehen oder klicken zum Auswählen
1
Datei einlesen
2
Struktur erkennen & parsen
3
Auf CellCode-Parameter mappen
4
Bereit zur Übernahme
ParameterKat.WertCellCode-ZielbereichStatus

Summe sollte 100 ergeben. Wird automatisch gespeichert.

Anthropic API Key

Nur lokal gespeichert (localStorage). Wird nur direkt an die Anthropic API gesendet, nie an andere Server.

Datenverwaltung
function parseHL7Text(text,method){ if(!currentPatientId){alert('Bitte Patienten wählen.');return} if(!text||!text.trim()){alert('Kein Text vorhanden.');return} resetProgress();setStep('step-read','done'); document.getElementById('step-parse-label').textContent='HL7 v2 parsen (regelbasiert)'; setStep('step-parse','active'); const raw=[]; // Normalize line endings: support \r, \r\n, \n const lines=text.split(/\r\n|\r|\n/).filter(l=>l.trim()); addLog('HL7 v2 — '+lines.length+' Zeilen, Encoding erkannt'); // Detect field separator from MSH segment let sep='|', comp='^'; const msh=lines.find(l=>l.startsWith('MSH')); if(msh&&msh.length>3){sep=msh[3];comp=msh[4]||'^';} let obxCount=0; lines.forEach(line=>{ if(!line.startsWith('OBX'))return; const f=line.split(sep); if(f.length<6)return; const vtype=(f[2]||'').trim(); if(!['NM','SN'].includes(vtype))return; const obsField=f[3]||''; const parts=obsField.split(comp); const labCode=(parts[0]||'').trim(); const labName=(parts[1]||parts[0]||'').trim(); // Parse value — handle <0.9, >10, plain numbers, comma decimals let rawVal=(f[5]||'').trim(); const hasLt=rawVal.startsWith('<'); const hasGt=rawVal.startsWith('>'); const numStr=rawVal.replace(/[<>]/g,'').replace(',','.').trim(); const value=parseFloat(numStr); if(isNaN(value))return; // For < values: use half the threshold as conservative estimate const finalVal=hasLt ? value*0.5 : value; const unit=(f[6]||'').trim(); obxCount++; addLog(' '+labCode+' | '+labName+' = '+rawVal+' '+unit); raw.push({name:labName,labCode,value:finalVal,rawValue:rawVal,unit,hasLt,hasGt}); }); addLog('→ '+obxCount+' numerische OBX-Segmente'); setStep('step-parse','done'); finalizeExtraction(raw,'HL7 v2'); }