Getting Started Questions

Hey Everyone,

I’m a developer who has a working knowledge of HL7 v2/3, and am looking to add support for HL7 FHIR into an existing PHP application, and I’m having trouble getting started. Can anyone provide any direction on any of the following:

  1. How do I test my server code? Is there a test HL7 client available? Ie, a Windows or Mac application I can use to send a test FHIR message to a specific server. I found this site ( but was hoping for a local application as my test application will not be available online during development.

  2. My application currently parses HL7 v2/3 ORM messages to pull out feeding information for infants (from specific ORC, ORB and NTE segments). How do I go about converting these messages to HL7 FHIR? Ie, what FHIR messages do I use to construct an equivalent “order” message? Is there some examples of equivalent order messages between HL7 v2/3 and FHIR?

  3. Is there a resource I can find good example messages for different scenarios? I know the FHIR official reference site has some examples but I’m looking for additional (better) examples.

Any help is appreciated. I’ve been searching on and off for the last week and am having trouble finding details on anything. In particular, there’s not much PHP specific resources/examples for HL7 FHIR.


1 Like

There are a number of formal testing tools available that can run test scripts against a server. For just playing around, it’s often simplest to just use a browser.

Most FHIR implementations leverage REST rather than messages. Your first question should be who are you planning to expose your FHIR interface to and what will they need to do with it. We don’t have a whole lot of v2/v3 -> FHIR message examples (in part because not many people are doing that). However, you can see mappings from each FHIR resource to both v2 and v3 in the mappings tab.

FHIR hasn’t defined any official message definitions as yet - no one from the implementer community seems to want us to do that. The small percentage of the community that is doing messaging has tended to be happy to define their own messaging expectations within closed communities. Almost all of the open community interoperability that’s happening is happening in the REST space - primarily because REST requires minimal negotiation between the participants.