Basic questions trying to understand the platform

664 views
Skip to first unread message

Pablo Pazos

unread,
Apr 16, 2017, 7:21:11 PM4/16/17
to SMART on FHIR
Hi group,

I'm new to the SMART platform and I'm trying to understand it's objectives, purpose, role and relationships to HIT standards. By now it is difficult to get a complete view of the whole platform and how it works.

Looking at https://smarthealthit.org/an-app-platform-for-healthcare/about/ it says SMART is a "standards based technology platform". But I couldn't find documentation with a specification of the full platform in terms of 1. technologies, 2. layers / tech stacks, 3. architectural components, 4. standards, 5. APIs.

On that page it also says: "The SMART project defines a health data layer that builds on the emerging FHIR ... API and resource definitions.". From that I'm not sure what is the specific addition of SMART over FHIR API, most of the examples seem to be just calls to a FHIR API.

I also read the full http://docs.smarthealthit.org/ and most of the tech docs are documentation of authorization or high level examples of using client libraries, but there is no full definition of the API, backend, or other components needed to build and deploy a SMART solution. I think I was expecting a full API spec and with some examples and common flows.

So far I understood:

1. SMART uses FHIR as API (spec)
2. SMART uses HAPI FHIR server (tech)
3. SMART has some client libraries, for the HAPI FHIR server (tech)
4. SMART uses web standards for authorization (spec)

Some unkowns:

1. What is the support / relationship of SMART with other standards and specs (HL7 v2.x, HL7 v3, CDA, DICOM, openEHR, IHE profiles, ...)
2. Is there other component (not mentioned above) related to the technology stack?



Please let me know if any of my assumptions are wrong and please point me out to any resources that can help on understanding the SMART platform.

Thanks a lot,
Pablo.

PS: when I get to know SMART better I'll do an online talk (as I usually do) to present it to the Latin American eHealth community.

Michele Mottini

unread,
Apr 17, 2017, 9:36:11 AM4/17/17
to SMART on FHIR
Mhh... the complete SMART specs are indeed at http://docs.smarthealthit.org/ - there is enough info there to implement it (as a server or a client). There is not a description of an API because SMART is based on two existing API / standards: OAuth 2.0 and FHIR - so all the information there are details / clarifications / examples on top of those two standards.

   - Michele
   CareEvolution Inc




--
You received this message because you are subscribed to the Google Groups "SMART on FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to smart-on-fhir+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dan Gottlieb

unread,
Apr 17, 2017, 1:33:24 PM4/17/17
to SMART on FHIR

Hi Pablo,

 

To add to Michele’s answer, the goal of SMART is to enable developers to build apps that can connect to clinical systems (such as EHRs, patient portals, and clinical data warehouses) without needing to do custom integration with each system. To support this, SMART defines a specification at http://docs.smarthealthit.org that extends the HL7 FHIR standard with OAuth based authorization (including a set of access scopes designed for FHIR resources and extensions to the FHIR conformance statement resource to support discovery of the authentication urls), OpenID Connect based single sign on, and a way for EHRs to pass information like the in-context patient and encounter to apps. If both the clinical system and the app implement support for this specification then they’re able to securely connect and exchange FHIR data.

 

In addition to the specification itself, the SMART project maintains a number of tools to help developers build apps that use the specification, including:

 

Regards,

Dan

brajesh kumar

unread,
Apr 18, 2017, 3:31:03 AM4/18/17
to SMART on FHIR
Hi,

As you have mentioned - A test environment that provides the EHR side of the implementation (based on the Hapi server, but with an OAuth based authentication stack and a user interface for managing OAuth app registrations) (https://github.com/smart-on-fhir/installer)

I have installed FHIR server according to (https://github.com/smart-on-fhir/installer) and added few new patients. But next day i was not able to view the newly added patient. I found reply on this group that database is reset every night.

Can we not add resources like patient, clinicians etc for permanently and how can we get source code of smart-on-fhir

I found another link to install fhir server and client:  http://hapifhir.io/doc_jpa.html

What is difference between these two smart-on-fhir and hapifhir. As i know smart-on-fhir is based on hapi.

I want to ask which server is better to use, because we have to do all operation (Add, Update, Delete) on every resource like Patient, Observation, Clinicians etc and all the operation performed must not be reset automatically after any time .


Please reply as soon as possible.
Thanks
Brajesh

To unsubscribe from this group and stop receiving emails from it, send an email to smart-on-fhi...@googlegroups.com.

Nikolai Schwertner

unread,
Apr 18, 2017, 12:37:01 PM4/18/17
to smart-...@googlegroups.com
Interesting, I didn't realize that the nightly reset was happening on the private sandboxes  built with the installer as well. This is certainly not the intent. We will need to look into it. In the meanwhile, see if you can tweak the crontab tasks on your server instance to drop the reset (see https://github.com/smart-on-fhir/installer/blob/master/provisioning/roles/linux-machine/tasks/main.yml#L247).

HAPI is a vanilla FHIR server. Does not support SMART on FHIR out of the box (app launch, authorization, context, etc). The SMART on FHIR sandbox uses HAPI as its FHIR server adding to it the SMART on FHIR framework.

-Nikolai

Pablo Pazos

unread,
May 14, 2017, 2:07:27 AM5/14/17
to SMART on FHIR
Thanks everyone for the answers.

Digging on other sources, it seems when SMART started the scope was much bigger than the current one.

As I understood, now on the specification side SMART is mainly an auth layer over FHIR, and on the tech side is HAPI FHIR server + ApacheDS + HSPC software + the sandbox.

Is that a correct statement?

In fact, looking at the HSPC documentation, it seems there is an overlap between them and SMART. Can you provide any information about that? Want to understand the relationship. For example, HSPC app gallery is the same app gallery as SMART.


Thanks a lot!
Pablo.

Travis Cummings

unread,
May 14, 2017, 10:15:14 AM5/14/17
to Pablo Pazos, SMART on FHIR
Hi Pablo,

SMART has created the SMART on FHIR specification that includes the security (OAuth2) and launch specifications that are build on top of the FHIR specification allowing an external application to connect to an EHR on behalf of a user and integrate into the EHR workflow allowing a clinician to launch the app from within the EHR and gain the EHR context (patient, encounter, etc).

HSPC is a consortium of healthcare providers, platform vendors, and app developers that works toward an open, interoperable healthcare ecosystem.  Because HSPC and SMART's missions align, HSPC is helping the SMART on FHIR community by creating reference artifacts and hosting public sandboxes.

HSPC (in collaboration with SMART) has build a reference implementation of the SMART on FHIR specification using the HAPI FHIR server and the Mitre OpenID Connect auth server.  The HSPC reference implementation includes modules for MySQL, FHIR, Oauth2, and SMART support packaged as a Java-based web app.  The HSPC reference implementation is used in the SMART sandbox, SMART installer, and the HSPC sandbox.  The HSPC reference implementation is open-source and intended to demonstrate the SMART on FHIR specification, and is not intended to be used in a production setting.

The SMART sandbox is intended to allow app developers access to a SMART on FHIR simulated environment with a shared FHIR database with sample data that is reset nightly and supports the final versions of FHIR (DSTU2 1.0.2 and STU3 3.0.1 in the near future).

The HSPC sandbox is intended to allow app developers as well as FHIR developers to create their own personal FHIR databases (hosted by the HSPC sandbox) also with the SMART on FHIR simulated environment.  The HSPC sandbox supports final and development releases of FHIR (1.0.2, 1.4, 1.6, 1.8, 3.0.1).

The SMART and HSPC Galleries do have several of the same applications on display.  This is analogous to an app existing in multiple app stores.

Travis

Reply all
Reply to author
Forward
0 new messages