This is an example of how to FHIR to help pregnants to track their symptoms and share with health caregivers.
Usually, pregnant women have a lot of changes in their daily routines with several symptoms. Most of them usually are normal and non harmful ones, but some of them could be important signs that something is not good and caregivers need to be reported.
This application uses InterSystems technologies in order to help pregnant women to report their symptoms and caregivers to assist such patients.
This application was developed for the InterSystems IRIS for Health Contest: FHIR for Women’s Health.
More information in these articles:
You can try the app without any installation here.
Checkout the Trying the app section for users and passwords.
The following InterSystems technologies was used in this project:
Those technologies are used as depicted by the following diagram:
The patient accesses the application using a web browser.
The application web resources are handled by the [IRIS Web Gateway[(https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCGI_intro). Such resources use the application REST API, supported by the IRIS REST Services.
The application REST API uses IRIS ObjectScript classes to perform the application logic. Such logic includes usage of the InterSystems FHIR Server service for FHIR resources handling and local IRIS persistence for additional information.
The FHIR Server provides a REST API for performing CRUD operations via the HL7 FHIR standard. This standard has a rich abstraction set for dealing with healthcare. Such abstractions are called resources in FHIR.
The application REST API uses the FHIR Server REST API in order to handle FHIR requests. The authentication is done by an API KEY generated by FHIR Server and stored in IRIS Interoperability credentials.
This application uses the FHIR resources Patient, Practitionner and Observation. Patients’ resources are bound to IRIS users and Observation resources are used to store the patient’s symptoms.
USER>zpm "pregnancy-symp-tracker-fhir-app"
If the online demo is not available anymore or you would like to play with the project code, you can set up a docker container. In order to get your container running, follow these steps:
Clone/git pull the repo into any local directory
$ git clone git@github.com:jrpereirajr/pregnancy-symp-tracker-fhir-app.git
Open the terminal in this directory and run:
$ docker-compose build
$ docker-compose up -d
After ZPM installation, you need to create a configuration object like this one:
Set ^restapi.FHIRaaSClient = {"config": {
"Server": "fhir.ghim09twjq5g.static-test-account.isccloud.io",
"Port": 443,
"UseHTTPS": 1,
"SSLConfig": "default",
"APIKeyCred": "fhirserver-apikey"
}}.%ToJSON()
Where Server
is your FHIR Server address and APIKeyCred
is an IRIS Interoperability credential with the FHIR Server API KEY.
You can create a credential using the IRIS portal in the menu Interoperability >> Credentials. Click on the New button, inform the credential ID and the FHIR Server API KEY in the Password field, then save by hitting the Save button.
Access the application here for a demo online or here if you are running locally.
Use the following users in order to try the demo:
User | Password | Role |
---|---|---|
MarySmith | marysmith | Patient |
SuzieMartinez | suziemartinez | Patient |
AnneJackson | annejackson | Doctor/Patient |
PerterMorgan | pertermorgan | Doctor |
When you log in as a patient, you can manage symptoms in the My Symptoms page or check out some metrics in the My Dashboard page.
When you log in as a doctor, you can see the doctor’s patients list in the Doctor Dashboard page.
When you log in with a user having both roles, you can access all the pages.
Here are some screenshots: