I am new to FHIR in general and definitely new to Implementation guide. There are plenty of things that are unclear to me.
Recently, we implemented a healthcare app - lets call it A that can give the user’s blood pressure, temperature, etc. We also built a test app that can integrate with it.
All these apps are FHIR compliant. The test app sends a ServiceRequest to the app A to get data. A sends back a response in FHIR compliant format (ObservationResponse) with the data that the user wants. Ex: the test app may ask for temperature and A will give the reading.
We are also making our app open for other 3rd party developers to integrate with. Ex: any 3rd party app should be able to integrate with us by sending a FHIR compliant request (ServiceRequest) and can get the data they want by reading in the ObservationResponse it receives.
If someone wants to build an app that integrates with ours, I can tell them the following -
- FHIR request they need to send us
- FHIR response they can expect - including the complete structure.
- What values to populate in the request and what fields to read from the output.
- I can share examples as well.
- We work through Android intent calls (not sure if that matters)
Overall, our implementation is a very basic FHIR integration. An app willing to integrate has to send a request in a specific format and expect a particular output.
However, I am not sure what goes into the Implementation guide. I looked at some examples but did not get much of a clue.In fact, it left me more confused.
- Whatever inputs I have for integration (mentioned above), is that what we need for the implementation guide?
- Any other info we need to add?
- Where in implementation guide do we add these? Most sections do not seem to apply to our case at all. I do see a section titled:
ImplementationGuide.definitionand a subsection titled
ImplementationGuide.definition.resourceunder that. Is this where the above data goes in?
- If so, do we use complete structures?
- Do we provide a skeleton structure of the ServiceRequest and ObservationResponse in one of the above sections? And give actual examples down below?
- How do we differentiate what is an input and what is an output?
Thanks in advance!