When considering which approach is best-fit for your implementation, ask yourself…
- What are your functional interoperability requirements. What information needs to be shared, with which user groups/organizations, and when?
- What are your compliance/legal requirements with respect to data sharing and privacy. Are there any country-specific compliance requirements that need to be adhered to?
- What systems/tools do partner organizations use and what are their technical requirements? See below section Connecting other systems for specific questions to ask.
- What are specific requirements, or user stories, that fully describe the functional need, purpose, and people involved? Consider documenting these. Typically a user story will include (1) who the requirement supports, (2) what the requirement/need is, and (3) for what purpose/ business function. See here for standard user story templates and see the Use Cases sections of this documentation for sample user stories.
- What are your interoperability options? Once you have a clear understanding of the functional, compliance/legal, and technical requirements for your interoperability solution, review available Data Input & Sharing Options to evaluate and determine the best-fit approach for your requirements.
- What specific data elements need to be exchanged from your systme to Go.Data? Build a map. See here for a Go.Data mapping specification template.
- What technical resources will be required to implement the integration? Create a check-list. See here for a template Go.Data Integration Checklist.
- Go.Data interoperability examples under reference implementations
- Go.Data Implementation Guide & shareable overviews to share with interested partners: https://community-godata.who.int/page/documents
- WHO Digital Health Atlas: see this instructional video on how this tool can help inform digital health landscape in your setting when considering implementation and interoperability
- Other helpful guidances such as the DHIS2 Implementation Guide and the OpenHIE Implementation Methodology
When analyzing integration & interoperability options with another system, consider the following questions:
- Who are the other users? What information do they access, when, and for what business purpose?
- Where is the system hosted and who manages? If it is hosted locally, is it web accessible or can it only be accessed via the local network? If it is hosted by a third party, do you have access to that third party to request changes, API access, and technical documentation?
- Is there an available REST API and/or webhooks service? If yes, is there available documentation? Does the documentation cover the specific functionality (e.g., updating case records, viewing patient details, submitting a new form entry)?
- If no API, what are other available ETL options for getting data in/out of the system? How is data currently entered and extracted? (E.g., “Mr. X digitizes visit forms in Excel at this computer, then uploads them using the ‘bulk data entry’ screen in our app at the end of each day. Data is extracted by lab technicians via the ‘Export to CSV’ button, and it is then formatted in Excel and printed to be read by technicians on site.”)
- Are there any known security requirements or authentication considerations? (e.g., firewalls, VPN requirements, IP whitelist requirements?)
- Is there an available test environment to test integration with the application? (If not, is there a public demo of the application running on the same version that you’re currently running so that we can test the APIs?)