Interface Guide

SMART on FHIR App Hosting

The PatientApplications add-on can host one or more SMART on FHIR apps.

App Registration

Any app you host must be registered with your HIEBus system. Contact CareEvolution support to have a SMART on FHIR app registered. You will need to provide:

  • A name for the app (e.g., “PDemo”).
  • A URL for launching the app (e.g., https://demo.careevolution.com/PDemo/PDemo.html).
  • A description of the app (e.g., Patient demographics demo.).

SMART Apps require that OAuth authentication be enabled and working for your system, and that a FHIR endpoint be set up.

Screen Configuration

Registered apps are treated as screens, and you can add them to application tabs the same as any other screen. Apps show up as SmartApp-<app name> in the screen lists. Typically, apps will be added to the PatientApplication so they can utilize patient data.

Screen Configuration
Screen Configuration

You will also need to set up permissions for the screen to access data:

Screen Permissions
Screen Permissions

Once the app has been added as an application tab on the patient screen, you will be able to access it. Select a patient and click on the new application tab.

SMART on FHIR App in Action
SMART on FHIR App in Action

Terms and Term Mappings

You will need to set up any term mappings that the app relies on. For example, a Cardiac Risk app might query for observations identified by specific LOINC terms, such as:

  • 30522-7 (C reactive protein, LOINC name CRP SerPl HS-mCnc) expressed in mg/L,
  • 14647-2 (Cholesterol in serum or plasma, LOINC name Cholest SerPl-sCnc) expressed in mg/dL,
  • 2093-3 (Cholesterol in HDL in serum or plasma, LOINC name Cholest SerPl-mCnc) expressed in mg/dL,
  • 2085-9 (Cholesterol in HDL in serum or plasma, LOINC name HDLc SerPl-mCnc) expressed in mg/dL,
  • 8480-6 (systolic blood pressure) expressed in mm Hg.

If those terms are not already recognized by your system, you would need to create them (either manually in the Term Administration screen or by importing a CSV file using the term CSV Loader).

You should also ensure that related terms are mapped to the term the app will query for. In this example, two other observation types dealing with systolic blood pressure are mapped to 8480-6 to ensure consistent reporting.

Term Mapping
Term Mapping

Measurement Units

SMART apps expects UCUM measurement units, which is different from what CareEvolution uses internally. The system will try to generate the appropriate UCUM unit.

You can use term mapping to control which UCUM unit is used. Simply map the internal unit type to a term in the UCUM namespace. In the example below, two internal terms representing ‘mL’ measurements have been mapped to the UCUM unit for ‘mL’.

Term Mapping
Term Mapping

If no mapping exists, the system will use its own algorithm to try to determine which UCUM unit is appropriate based on the internal unit name or code.