Re: [ResMed-de] Parsen einer xDT (BDT) Datei

2007-06-07 Diskussionsfäden Christian Heller
Hallo,

vielen Dank fuer die Tipps! Wir hatten das Meiste schon diskutiert in:
http://sourceforge.net/mailarchive/forum.php?thread_name=200702031747.17036.christian.heller%40tuxtax.de&forum_name=resmedicinae-apwiegand

Der xDT-Konverter fuer CYBOI/ Res Medicinae laeuft seit April mit vier
Probefeldern. Es muessen nur noch die anderen Felder eingetippt werden.
Hier die Quelltext-Datei, geschrieben in der Programmiersprache "C":
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/cybop/src/memoriser/converter/xdt_converter.c?rev=1.11&content-type=text/vnd.viewcvs-markup

Der Grund dafuer, dass ich es nicht angekuendigt habe, ist, dass ich
die geparsten Patientendaten gleich noch serialisieren und als HTML-Seite
darstellen will, per HTML-Konverter.

Auszerdem muss ich die eingelesenen Daten, welche in einer Baumstruktur
(siehe Datei im Anhang) vorliegen, noch in eine sinnvolle Baumstruktur
bringen, die einer Elektronischen Krankenakte (EHR) aehnelt.

Also: Parser grob fertig, aber das Drumherum wird noch dauern,
um die Daten nutzen zu koennen. Es geht nun langsam in Richtung EHR.

Bei Feierabendarbeit dauert dies eben etwas laenger ...

Christian
residenz | compound
+-record | compound
| +-particulars | compound
| | +-first_name | character | Mueller
| | +-last_name | character | Heller
| | +-birthdate | character | 1970-01-01
| | +-sex | character | M
+-wui | compound
| +-main_page | compound
| | +-head | compound
| | | +-http-equiv | character | 
| | | | #-tag | character | meta
| | | | #-http-equiv | character | content-type
| | | | #-content | character | text/html; charset=ISO-8859-1
| | | +-author | character | 
| | | | #-tag | character | meta
| | | | #-name | character | author
| | | | #-content | character | Generated by CYBOI
| | | +-title | character | Res Medicinae - APW
| | | | #-tag | character | title
| | | #-tag | character | head
| | +-body | compound
| | | +-heading | character | Res Medicinae - APW
| | | | #-tag | character | h1
| | | | #-align | character | center
| | | +-address_table | compound
| | | | +-header | compound
| | | | | +-first_name | character | Vorname
| | | | | | #-tag | character | th
| | | | | +-last_name | character | Nachname
| | | | | | #-tag | character | th
| | | | | +-birthdate | character | Geburtsdatum
| | | | | | #-tag | character | th
| | | | | +-sex | character | Geschlecht
| | | | | | #-tag | character | th
| | | | | #-tag | character | tr
| | | | +-body | compound
| | | | | +-first_name | character | Mueller
| | | | | | #-tag | character | td
| | | | | +-last_name | character | Heller
| | | | | | #-tag | character | td
| | | | | +-birthdate | character | 1970-01-01
| | | | | | #-tag | character | td
| | | | | +-sex | character | M
| | | | | | #-tag | character | td
| | | | | #-tag | character | tr
| | | | #-tag | character | table
| | | | #-width | character | 100%
| | | | #-cellspacing | character | 0
| | | | #-cellpadding | character | 2
| | | | #-border | character | 1
| | | +-break | character | 
| | | | #-tag | character | br
| | | #-tag | character | body
| | #-tag | character | xhtml
| | #-xmlns | character | http://www.w3.org/1999/xhtml
+-logic | compound
| +-import | compound
| | +-xdt | compound
| | | +-xdt | operation
| | | | #-name | character | xdt
| | | | #-channel | character | file
| | | | #-abstraction | character | xdt
| | | | #-model | character | /home/praxis/c/a/resmedicinae_bdt_export/test.bde
| | | | #-element | character | part
| | | | #-whole | knowledge
| | | +-translate_xdt_to_record | knowledge
| | | +-translate_record_to_wui | knowledge
| | | +-write_wui_to_xhtml_file | operation
| | | | #-channel | character | file
| | | | #-receiver | character | patient_list.xhtml
| | | | #-language | character | xhtml
| | | | #-message | knowledge
| | | +-write_record_structure_into_file | operation
| | | | #-channel | character | file
| | | | #-receiver | character | TEST_xdt.txt
| | | | #-language | character | model_diagram
| | | | #-message | knowledge
| +-translation | compound
| | +-translate_xdt_to_record | compound
| | | +-copy_first_name | operation
| | | | #-source | knowledge
| | | | #-destination | knowledge
| | | | #-abstraction | character | character
| | | +-copy_last_name | operation
| | | | #-source | knowledge
| | | | #-destination | knowledge
| | | | #-abstraction | character | character
| | | +-copy_birthdate | operation
| | | | #-source | knowledge
| | | | #-destination | knowledge
| | | | #-abstraction | character | character
| | | +-copy_sex | operation
| | | | #-source | knowledge
| | | | #-destination | knowledge
| | | | #-abstraction | character | character
| | +-translate_record_to_wui | compound
| | | +-copy_first_name | operation
| | | | #-source | knowledge
| | | | #-destination | knowledge
| | | | #-abstraction | character | character
| | | +-copy_last_name | operation
| | | | #-source | knowledge
| | | | #-destination | knowledge
| | | | #-abstraction | character | character
| | | +-copy_birthdate | operation
| | | | #-s

Re: [ResMed-de] Parsen einer xDT (BDT) Datei

2007-06-06 Diskussionsfäden Karsten Hilbert
On Thu, Jun 07, 2007 at 12:38:21AM +0200, Andreas Schnitzler wrote:

> Sehr geehrte(r) Karsten Hilbert,
Sie dürfen der Statistik trauen. Und auch klonen kann ich
mich bislang nicht.

> >> NEIN! DORT stehen "HL7-Schlüssel", eine internationale Umformulierung 
> >> der Feldinhalte usw., das hat mit BDT nix zu tun!
> > Es handelt sich um das Feld 0103 "Software" aus dem BDT-Satz 0010.
> 
> > Was sind denn "HL7-Schlüssel" ?
> 
> > Was bedeutet HL7 = "internationale Umformulierung der
> > Feldinhalte usw." ?
> 
> Kurze Einführung/Überblick:
> http://www.hl7.de/standard/wasist_hl7.php
> Bei Interesse:
> http://www.hl7.de/projektbuero/datenaustausch.php
Ist mir alles bekannt. Ich weiß, was HL7 und xDT (und
OpenEHR und IHE-Profile und Corba und ...) sind. Ich wollte
nur in Erfahrung bringen, aufgrund welcher Sachlage Sie die
BDT-2-94-Feldkennung 0103 als "HL7-Schlüssel" bezeichnen.

Ich vermute, hier liegt eine Verwechselung zwischen xBDT und
XML-Formaten im Rahmen der DMPs vor, insbesondere da Ihr
XML-Snippet Teil einer Dialyse-DMP-Datei zu sein scheint.

> Für einen Gelegenheitsprogrammierer wie mich eine unübersichtliche 
> Katastrophe *G*!!!
> Als Kostprobe ein kleines SNIPPET im Anhang, mit dem nur ein paar
Kenn ich, kenn ich. Und *den* HL7 gibt es auch nicht. In v3
wird das etwas besser, wenn man IHE-Profile dazunimmt auch.

> wenige Daten übergeben werden (Nutzwert ca. 22 Zeilen
> Dateninhalt...!). Da ist der BDT deutlich einfacher zu
> verstehen und umzusetzen...! Sie müßten mal die
> XSD-Schema-Dateien sehen, das geht auf keine Kuhhaut. Dazu
> kommmt, daß umfangreichste Datenfeldlisten dazu gehören,
> allein der Familienstand hat ÜBER 12 Optionen einschließlich
> Polygamie usw. (wem soll das nützen??).
Vielleicht arabischen und asiatischen Mitbürgern ? Es könnte
ja sein, daß in Indien und Turkmenistan auch Laborwerte
bestimmt werden.

> PS: Ihre Liste ist die bisher beste Aufstellung, die mir bislang begegnet 
> ist!!!
Das freut mich ganz besonders, wenn Ihnen dies hilft. Wir
setzen die Liste ja in GNUmed ganz praktisch ein.

mfg,
Karsten Hilbert
-- 
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
resmedicinae-deutsch mailing list
resmedicinae-deutsch@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resmedicinae-deutsch


Re: [ResMed-de] Parsen einer xDT (BDT) Datei

2007-06-06 Diskussionsfäden Karsten Hilbert
Hallo Christian,

> > Eine Beispiel-Zeile aus der exportierten *.bde Datei sieht so aus:
> > 0270103ARZTPRAXIS WIEGAND
...
> > 3. Frage: Wo liegt mein Denkfehler?
> > Wenn "Res Medicinae" nun 27 Zeichen zaehlte, wuerde es ins darauf
> > folgende Feld hineinlaufen, so dass ein Daten-Mix entstuende.
Kümmere Dich nicht um die Länge. Nimm als Inhalt string[7:-2]

> > "0103" stellt im Beispiel dann die Kennung dar.
> > Ich vermutete, dass die "Kennung" den KBV-Schluesseltabellen:
> > http://www.kbv-it.de/keytabs/ita/schluesseltabellen.asp
> > http://www.kbv.de/application/schluesseltabellen/xsd/keytabs.zip
> > zu entnehmen ist. Doch wenn ich dort nach "0103" suche, kommt die
> > Tabelle "S_KBV_SCHEINART", was nicht stimmen kann, da im obigen
> > Beispiel-Feld der Name des Programms, also "ARZTPRAXIS WIEGAND"
> > zu finden ist.
> 
> NEIN! DORT stehen "HL7-Schlüssel", eine internationale Umformulierung 
> der Feldinhalte usw., das hat mit BDT nix zu tun!
Es handelt sich um das Feld 0103 "Software" aus dem BDT-Satz 0010.

Was sind denn "HL7-Schlüssel" ?

Was bedeutet HL7 = "internationale Umformulierung der
Feldinhalte usw." ?

> Interessant auch (EINE ZEILE!):
> http://cvsmonitor.gnumed.de/cvsmonitor.pl?
> cmd=viewBrowseVersion&version=1.40
> &file=gnumed/client/business/gmXdtMappings.py&module=GNUmed.GNUmed

GNUmed hat einen Parser für xDT (zum Anzeigen zumindest).
Ebenso besitzt es die Funktionalität, aus einer xDT-Datei
den Patienten zu extrahieren und zu importieren.

Siehe read_person_from_xdt() in


http://cvs.savannah.gnu.org/viewvc/gnumed/gnumed/client/business/gmXdtObjects.py?root=gnumed&view=markup

> > 6. Frage: Kann man also nur flache Datenstrukturen abbilden oder
> > bezeichnen manche Kennungen den Beginn/ das Ende einer hierarchischen
> > (geschachtelten) Datenstruktur?
Ja, siehe z.B. LDT.

> > Was mir auszerdem fehlt, sind ein- bis zwei Quelltext-Beispiele.
Siehe oben.

mfg,
Karsten Hilbert
-- 
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
resmedicinae-deutsch mailing list
resmedicinae-deutsch@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resmedicinae-deutsch


Re: [ResMed-de] Parsen einer xDT (BDT) Datei

2007-06-06 Diskussionsfäden A . Schnitzler
Christian Heller <[EMAIL PROTECTED]> writes:

> 
> Hallo,
> 
> ich moechte in den naechsten Monaten, je nachdem wieviel Freizeit
> bleibt, versuchen, Dateien im "x DatenTransfer" (xDT) Format zu lesen,
> um sie in "Res Medicinae" zu importieren. Zu Beginn wuerde es mir
> reichen, den Namen und das Geburtsdatum von Patienten aus einer
> Datei im "BehandlungsDatenTransfer" (BDT) Format auszulesen.
...
> Eine Beispiel-Zeile aus der exportierten *.bde Datei sieht so aus:
> 0270103ARZTPRAXIS WIEGAND
> 
> "027" besagt also, dass der Feld-Inhalt 27 ASCII-Zeichen lang ist, o.k.?
> Im obigen Beispiel ist das Feld aber nur 18 Zeichen lang!
GESAMTE FELDLÄNGE = FELDINHALT + 9 Zeichen:
3 Zeichen = Zeilenlänge selbst "027"
+4 FeldKENUNG "0103"
+ Länge Feldinhalt "ARZTPRAXIS WIEGAND"
+2 für CR/LF 

> 
> 3. Frage: Wo liegt mein Denkfehler?
> Wenn "Res Medicinae" nun 27 Zeichen zaehlte, wuerde es ins darauf
> folgende Feld hineinlaufen, so dass ein Daten-Mix entstuende.
> 
> "0103" stellt im Beispiel dann die Kennung dar.
> Ich vermutete, dass die "Kennung" den KBV-Schluesseltabellen:
> http://www.kbv-it.de/keytabs/ita/schluesseltabellen.asp
> http://www.kbv.de/application/schluesseltabellen/xsd/keytabs.zip
> zu entnehmen ist. Doch wenn ich dort nach "0103" suche, kommt die
> Tabelle "S_KBV_SCHEINART", was nicht stimmen kann, da im obigen
> Beispiel-Feld der Name des Programms, also "ARZTPRAXIS WIEGAND"
> zu finden ist.

NEIN! DORT stehen "HL7-Schlüssel", eine internationale Umformulierung 
der Feldinhalte usw., das hat mit BDT nix zu tun!

> 
> 4. Frage: Unter welchem Web-Link findet man eine Liste der "Kennungen"?
> 
http://www.kbv-it.de/ita/register_B.html => 
B02: Datensatzbeschreibung KVDT ist
korrekt, und etliche andere. Es gibt abhängig vom Einsatzzweck etliche
BDT-Unter-Schlüssel.

Interessant auch (EINE ZEILE!):
http://cvsmonitor.gnumed.de/cvsmonitor.pl?
cmd=viewBrowseVersion&version=1.40
&file=gnumed/client/business/gmXdtMappings.py&module=GNUmed.GNUmed


> 5. Frage: Wenn "Kennung" ungleich "Schluessel", wofuer stehen dann die
> Schluessel? (Ich vermute, dass sie als Feld-Inhalt zu verwenden sind.)
> 
> Die BDT-Dateien sind reine Auflistungen von Zeilen/ Feldern.
> 
> 6. Frage: Kann man also nur flache Datenstrukturen abbilden oder
> bezeichnen manche Kennungen den Beginn/ das Ende einer hierarchischen
> (geschachtelten) Datenstruktur?
> 
> Was mir auszerdem fehlt, sind ein- bis zwei Quelltext-Beispiele.
> 
Scheinen ja schon vorzuliegen, heissen nur "*.BDE" statt "*.BDT"
die DBF sagt mir nichts, muss WIEGAND-spezifisch sein 
(anschauen mit Access,
kann man ja importieren, wenn dBASE-Format und 
kein DBF-Viewer zur Verfügung steht).

> 7. Frage: Kann mir jemand (auch per privater E-Mail) Code-Beispiele
> zukommen lassen?
> 
> Vielen Dank,
> Christian Heller
> 
> -
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier.
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> 





-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
resmedicinae-deutsch mailing list
resmedicinae-deutsch@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resmedicinae-deutsch


Re: [ResMed-de] Parsen einer xDT (BDT) Datei

2007-02-03 Diskussionsfäden Christian Heller
Hallo Karsten,

>  
> http://cvs.savannah.gnu.org/viewcvs/gnumed/gnumed/client/business/gmXdtMappings.py?rev=1.37&root=gnumed&view=log
> 
>  
> http://cvs.savannah.gnu.org/viewcvs/gnumed/gnumed/client/business/gmXdtObjects.py?rev=1.25&root=gnumed&view=log

Danke, das hilft mir schon sehr!
Puh, wann habt Ihr nur die ganzen Konstanten eingetippt ...
Werde die mal copy&pasten und an C anpassen.

Christian

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
resmedicinae-deutsch mailing list
resmedicinae-deutsch@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resmedicinae-deutsch


Re: [ResMed-de] Parsen einer xDT (BDT) Datei

2007-02-03 Diskussionsfäden Karsten Hilbert
Eigentlich steht es alles in den xDT-Specs. BDT habe ich
auch nicht mehr auf Anhieb gefunden. Eine Mail an KBV-IT
sollte helfen.

 
http://cvs.savannah.gnu.org/viewcvs/gnumed/gnumed/client/business/gmXdtMappings.py?rev=1.37&root=gnumed&view=log

 
http://cvs.savannah.gnu.org/viewcvs/gnumed/gnumed/client/business/gmXdtObjects.py?rev=1.25&root=gnumed&view=log

Karsten

On Sat, Feb 03, 2007 at 05:47:16PM +0100, Christian Heller wrote:
> User-Agent: KMail/1.9.5
> Subject: [ResMed-de] Parsen einer xDT (BDT) Datei
> 
> Hallo,
> 
> ich moechte in den naechsten Monaten, je nachdem wieviel Freizeit
> bleibt, versuchen, Dateien im "x DatenTransfer" (xDT) Format zu lesen,
> um sie in "Res Medicinae" zu importieren. Zu Beginn wuerde es mir
> reichen, den Namen und das Geburtsdatum von Patienten aus einer
> Datei im "BehandlungsDatenTransfer" (BDT) Format auszulesen.
> Vielleicht koennen mir ja die Leser dieser Liste oder z.B. auch die
> mitlesenden GNUmed-Entwickler ein paar Hinweise geben?
> 
> Aus unserem Programm "Arztpraxis Wiegand" (APW) habe ich einen BDT
> Datenexport durchgefuehrt (genauer gesagt mittels eines beiliegenden
> Hilfsprogramms) und mir stehen nun drei reine Textdateien zur Verfuegung:
> 00120071.bde
> 00220071.bde
> 00320071.bde
> (Vermutlich sind diese jeweils < 1.2 MiB, damit sie auf Floppy passen.)
> Auszerdem wurde offenbar noch eine weitere Datei generiert:
> bde20071.dbf
> welche rund 17 MiB grosz ist.
> 
> 1. Frage: Reicht es aus, nur die *.bde Dateien zu parsen?
> Oder muss man auch mit der *.dbf Datei noch etwas veranstalten?
> 
> Falls nur die *.bde Textdateien, so koennte ich "Res Medicinae"
> theoretisch "losparsen" lassen, wenn ich wuesste, was die einzelnen
> Zahlen bedeuten. Unter den KBV-Schnittstellen-Beschreibungen:
> http://www.kbv-it.de/ita/4287.html
> http://www.kbv-it.de/ita/register_B.html
> http://www.kbv-it.de/ita/register_C.html
> konnte ich zu "BDT" nichts finden.
> 
> 2. Frage: Hat jemand einen Link auf die BDT-Spezifikation?
> 
> Gut, dann gibt es ja noch folgende Uebersicht:
> http://www.kbv-it.de/ita/4274.html
> 
>  * 
> -
>  * Feldteil Laenge [Byte]   Bedeutung
>  * 
> -
>  * Laenge   3   Feldlaenge in Bytes
>  * Kennung  4   Feldkennung
>  * Inhalt   variabelAbrechnungsinformationen
>  * Ende 2   ASCII-Wert 13 = CR (Wagenruecklauf)
>  *  ASCII-Wert 10 = LF (Zeilenvorschub)
>  * 
> -
> 
> Eine Beispiel-Zeile aus der exportierten *.bde Datei sieht so aus:
> 0270103ARZTPRAXIS WIEGAND
> 
> "027" besagt also, dass der Feld-Inhalt 27 ASCII-Zeichen lang ist, o.k.?
> Im obigen Beispiel ist das Feld aber nur 18 Zeichen lang!
> 
> 3. Frage: Wo liegt mein Denkfehler?
> Wenn "Res Medicinae" nun 27 Zeichen zaehlte, wuerde es ins darauf
> folgende Feld hineinlaufen, so dass ein Daten-Mix entstuende.
> 
> "0103" stellt im Beispiel dann die Kennung dar.
> Ich vermutete, dass die "Kennung" den KBV-Schluesseltabellen:
> http://www.kbv-it.de/keytabs/ita/schluesseltabellen.asp
> http://www.kbv.de/application/schluesseltabellen/xsd/keytabs.zip
> zu entnehmen ist. Doch wenn ich dort nach "0103" suche, kommt die
> Tabelle "S_KBV_SCHEINART", was nicht stimmen kann, da im obigen
> Beispiel-Feld der Name des Programms, also "ARZTPRAXIS WIEGAND"
> zu finden ist.
> 
> 4. Frage: Unter welchem Web-Link findet man eine Liste der "Kennungen"?
> 
> 5. Frage: Wenn "Kennung" ungleich "Schluessel", wofuer stehen dann die
> Schluessel? (Ich vermute, dass sie als Feld-Inhalt zu verwenden sind.)
> 
> Die BDT-Dateien sind reine Auflistungen von Zeilen/ Feldern.
> 
> 6. Frage: Kann man also nur flache Datenstrukturen abbilden oder
> bezeichnen manche Kennungen den Beginn/ das Ende einer hierarchischen
> (geschachtelten) Datenstruktur?
> 
> Was mir auszerdem fehlt, sind ein- bis zwei Quelltext-Beispiele.
> 
> 7. Frage: Kann mir jemand (auch per privater E-Mail) Code-Beispiele
> zukommen lassen?
> 
> Vielen Dank,
> Christian Heller

-- 
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
resmedicinae-deutsch mailing list
resmedicinae-deutsch@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resmedicinae-deutsch