-
Notifications
You must be signed in to change notification settings - Fork 2
Save HL7 waveform messages to disk #125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
to setup a fanout exchange so waveform messages can go to Emap and Atrium
* Automatically render all PlantUML diagrams.
PR checklistDefault guide for a PR (if multiple PRs for the work, only keep one version of it and link to it on the other PRs)
|
(but still allow configuration via EmapDataSource, the old way). Make HL7 saving tests pass. Make HL7 parser slightly more robust.
HL7 files that were previously created.
filesystem, and tar has a massive space overhead. So write the bz2 directly to disk, and use a single ASCII "FS" char as a separator. Tradeoff is that more is in memory so could be lost in a sudden outage.
Rejig config so saving can be neatly turned on/off
to aid in message routing
their bed id + timeslot so there aren't a whole bunch of threads trying to write to the same file at once. Make tests slightly closer to reality.
because the error handler bean has been shut down). Not sure whether there's an underlying issue that needs fixing though.
in flight on shutdown.
happening so we can close file handles. This seems to fix the shutdown issues!
bfd4709 to
9c2508e
Compare
skeating
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks sensible to me, but another more technical eye might be good
...orm-reader/src/test/java/uk/ac/ucl/rits/inform/datasources/waveform/TestHl7MessageSaver.java
Outdated
Show resolved
Hide resolved
to the more generic "export"
thompson318
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks generally good to me. Documentation and puml to svg is very nice. I don't feel experienced enough with java to comment much on that side, but it does seem to work.
One question on the queue fanning. My understanding now is that waveform-export should be consumed by the waveform-controller and that waveform-emap could potentially be comsumed by emap but at the moment is not? Should we be able to turn off one queue in configuration if we decide it's not needed. Presumably these queues have significant overheads to temporarily store the messages?
It may have not been consuming it for the same reason that the patient locations were out of date. I will check this.
You can add and remove queues that are bound to the fanout exchange from within the web admin console, or on the command line as the init script does. If we are to stick with our special Emap instance just for waveform, then it might make sense to delete the waveform_emap queue to reduce resource use in emap-star. Although leaving it running is a form of testing for if/when we want to run live inference on the data in emap-star. Yes, storing the messages does take up disk space and perhaps there should be more safeguards against filling up the disk (queue size limits?) I made an issue for this #142 . |
Implements #140
Also: