PAID is library for care billing with payers in Germany according to § 105 SGB XI and § 302 SGB V. The project name is an acronym and stands for "Pflegeabrechnung in Deutschland".
edifact/tokenizer: Just translates the EDIFACT string into typed objects which are basically array of arrays (see edifact/types)
kostentraeger/edifact/parser: Takes these typed objects and outputs the parsed segments in messages as documented in the appropriate docs from GKV (see kostentraeger/edifact/segments)
kostentraeger/transformer: Sorry, maybe bad name - takes these parsed segments, throws away superfluous and obscure data an translates this into a more convenient simplified data model divorced from any EDIFACT structure. See kostentraeger/types
and then also the filename parser in kostentraeger/filename. Nothing really changed IIRC from last time you looked at it. Maybe most of it is actually not needed and could be thrown away later.
From my side, this would be ready to merge.
After that, the next step is to:
(read the feed), parse actual data. See and fix if there are any deviations from the format as it is documented (Already spotted one by casually reading over a EDIFACT file)
build a module where you can supply the IK from the health insurance card, the location of the health care provider and other information and you get returned all the information where you have to send the receipts to.
Parsing a Kostentraegerdatei:
There are three different modules:
edifact/tokenizer
: Just translates the EDIFACT string into typed objects which are basically array of arrays (seeedifact/types
)kostentraeger/edifact/parser
: Takes these typed objects and outputs the parsed segments in messages as documented in the appropriate docs from GKV (see kostentraeger/edifact/segments
)kostentraeger/transformer
: Sorry, maybe bad name - takes these parsed segments, throws away superfluous and obscure data an translates this into a more convenient simplified data model divorced from any EDIFACT structure. Seekostentraeger/types
and then also the filename parser in
kostentraeger/filename
. Nothing really changed IIRC from last time you looked at it. Maybe most of it is actually not needed and could be thrown away later.From my side, this would be ready to merge.
After that, the next step is to: