We have developed a web service that suppose to get HL7 file from client and parse it into XML then push data into database.
Now my question is, what do we need to focus for this requirement. I have heard that usually EMR system send HL7 file through tcp.
How does actually HL7 servers work?
Do we need to create a HL7 listener?
Is this HIPAA compliance that HL7 should always push to server through tcp?
Can any explain it all?
This is a quite broad question... answering it all would take more than just a few paragraphs.
HL7 is an hairy beast. Each integration would probably require some work. The key is to have an architecture minimizing this integration work. See this link for some insights about HL7: https://softwareengineering.stackexchange.com/questions/47855/what-issues-tend-to-arise-when-working-with-hl7-messages/48171#48171
I recommend you consider using an integration engine supporting HL7 to handle it. It would handle protocols, listeners, message acknowledgment if needed and could help to store HL7 data in a database. It would also help dealing with the standard flexibility.
HIPAA compliance is about protecting patient data. It doesn’t mandate for any specific technology. Most HL7 data exchanges are handled through MLLP (based on tcp with message framing). You can add a VPN layer over it. Other protocols can also be used but you need to make sure the system on the other side of the data communication channel supports it.