Integrating with the SFM client
The SFM clients are implemented in Angular (JavaScript) for use in a browser. SFM supports Chrome, Safari and Edge.
The examples provided are based on using Chrome.
The SFM client can be used both in a cloud/browser-based solution and as part of a Windows client with an integrated browser.
Integration with a browser-based EPJ
For a browser-based EPR, the SFM client will be integrated into the EPR's user interface using IFrame. In the same way as for Windows client integration, the patient ticket and information about which patient is being treated are displayed in the EPR's browser window on the "outside" of the SFM browser window.
Registration of clients in HelseID must be done per organization from the server side of the cloud-based solution. This is to ensure a strong link between the organization and client-id, which in turn can be trusted by SFM. To prevent secrets from being exposed in the browser, the request for the access token must be made from the server side.
Sample code for integrating a cloud-based EPJ system can be found in WebEPJSampleApp, which is available on Github.
Windows client integration
Traditionally, EPJ systems have been Windows applications installed on the user's PC or terminal server.
SFM can be integrated with Windows clients by the EPJ using a browser component in its system where SFM is started via a defined URL. The SFM Patient-oriented portal will always be started in the context of a EPJ, a user and a patient. Before such a session can be started, it is necessary that the system and user are identified through a sequence with HelseID. For user login in the ID portal, the same browser component should be used. This enables cross-login via mechanisms in web/http. It is also necessary to initiate a session with an individual patient via the SFM API to retrieve a patient ticket. This is done to minimize data traffic that combines sensitive health data and personal information about the patient in question. The patient's name or ID will therefore not be communicated in a subsequent browser session and will not be visible in the SFM's browser window. It is assumed that the EPJ always shows which patient is opened in SFM outside the browser window.