MSH.24.2 should not be marked as required
MarceloLaser opened this issue · comments
Describe the bug
Same as described in #76.
To Reproduce
Attempt to convert any otherwise valid and supported HL7v2 message which contains an MSH
segment but not the MSH.24
field.
Expected behavior
FHIR resource is created including a MessageHeader
resource.
Desktop (please complete the following information):
- OS: macOS
- Version Sonoma 14.2
Additional context
I have run into the same problem described in issue #76, that is, that the MessageHeader
resource is not created when MSH.24
is absent. This is due to MSH.24.2
being required in secondary/Source.yml
. The specification listed by @pbhallam (https://www.hl7.org/fhir/messageheader.html) marks source as required, but not endpoint. Also, secondary/Destination.yml
has a different format for its endpoint
, despite being represented the same way in HL7v2: for Destination, it allows the converter to fall back on MSH.6
if MSH.25
is absent.
To clarify, the faulty behavior is not that the conversion fails altogether, but rather that a FHIR bundle is generated without a MessageHeader
resource. This may be why you were unable to reproduce the issue previously. I am currently running into the same problem when using either the source code from the current master branch, or the version 1.1.0 dependency from Maven Central (https://mvnrepository.com/artifact/io.github.linuxforhealth/hl7v2-fhir-converter/v1.1.0).
My recommendation would be to unmark endpoint
in both Source.yml
and Destination.yml
as required
, and to either modify Source.yml
to allow falling back on MSH.4
, or modify Destination.yml
to disallow falling back on MSH.6
(this option seems more in line with the FHIR specification). I'd be happy to send in a PR making these changes, if there is agreement that it is an appropriate solution.