clinical:METEOR - v18 - ProviderDirectory; Geomapping; P2P Sync


#1

Hello FHIR Community,
So, I’ve been posting clinical:METEOR releases to the Meteor forums for the past 18 months or so; and with Meteor on FHIR recently passing the Argonaut ProviderDirectory sprint, I finally have something worth sharing to the broader FHIR community. Moving forward, I’ll probably post release announcements on a quarterly basis.


FHIR Conformance Statements - ProviderDirectory
Yay! ProviderDirectory Touchstone tests! FHIR Practitioner, Organization, Location, and Endpoint resources are all passing their tests.


FHIR React Components

Unlike most other application frameworks, we use isomorphic javascript and use the FHIR JSON resources throughout our apps… server, client, database, testing, etc. So, we’ve implemented hundreds of FHIR React components (which are also isomorphic; they can be rendered on the client, or via server-side rendering). Long story short, we implemented a kiosk-ready user interface for waiting room environments.

The Practitioner and Organization resources have basic reusable CRUD components, that can be reused and composed into workflows. We use the Material Design standard, and all widgets are optimized for touch monitors and mobile devices.


Lastly, since the Location resources support lat/lng, and since we’re a web framework, the obvious next step was to add Google Maps and wire up the geolocation functionality to use Mongo’s 2sphere geoindexing functionality.


Peer To Peer Sync
Meteor on FHIR servers now support basic peer-to-peer autosync functionality. More p2p and mesh network functionality is on the roadmap, including peer discovery, server capability statements, blockchain ledgers, openID, and OAuth autonegotiation.

But for now, if you set the upstreamSync and disableOauth fields, you can enable Practitioner, Organization, and Location sync between datalakes. We’ll be hooking this up to cron soon, and have nightly replication and syncing across the Symptomatic network.

{
  "public": {
    "meshNetwork": {
      "upstreamSync": "http://meteor-on-fhir.meteorapp.com/fhir-3.0.0", 
      "autosync": false
    },
  },
  "private": {
    "disableOauth": true
  },
}


Meteor on FHIR
The Meteor on FHIR application boilerplate is available at https://github.com/clinical-meteor/meteor-on-fhir. To install, run the following commands

# install meteor 
curl https://install.meteor.com/ | sh

# download the sourcecode
git clone http://github.com/clinical-meteor/meteor-on-fhir
cd meteor-on-fhir

#install dependencies
meteor npm install

#run the app
NODE_ENV=test DEBUG=true meteor --settings settings.dev.json

Software Development Kit
If you’re interested in writing full-stack javascript healthcare apps, you can download the entire Clinical Meteor Software Development Kit, including examples, utilities, design documents, and other resources. It’s mostly Meteor.js code, but the common theme is the V8 Javascript/Node engine; so there’s also some Express, Connect, and other utilities in there.

git clone --recursive http://github.com/clinical-meteor/clinical-meteor ClinicalMeteor

Usage
Although not necessary, you can quickstart getting an app to a specific package version by running your app with the --release flag.

meteor --release clinical:METEOR@1.4.2-rc18

Fast Healthcare Interoperability Resources
Meteor support for the HL7 FHIR spec can now be included in a project by adding the clinical:hl7-fhir-resources package.

meteor add clinical:hl7-fhir-resources

For individual FHIR resources, use the search command or Atmosphere.

meteor search clinical:hl7-resource
meteor add clinical:hl7-resource-patient  // to add the Patient resource

Pending On Roadmap

  • Ethereum Blockchain Audit Log
  • Cerner FHIR Resources
  • LOINC Web API
  • Open mHealth Schemas
  • Node/Python bindings
  • Zygote Body Integration
  • Questionnaire Form Builder

Validation/Verification Tests
550 validation tests on Meteor on FHIR Interface Engine
130 verification tests across 36 distro packages
118 verification tests across 40 FHIR packagesT


#2

Hi @abigail thanks for this post. I was amazed to see what you have put together! Meteor-on-fhir is like a FHIR-ready toolkit. I am intrigued by the MANY features, especially the kiosk capability.

I am working on a rule-driven question and answer tool that I would love to deliver via kiosk. I have played with meteor-on-fhir and have made a plugin! Have you implemented Questionnaire or QuestionnaireResponse? If not maybe I could contribute that?