Pregnancy Symptoms Tracker

This application is not supported by InterSystems Corporation. Please be notified that you use it at your own responsibility.

What's new in this version

  • Remove resource to access patients symptoms from doctor role

Gitter Quality Gate Status Reliability Rating

License: MIT

Pregnancy Symptoms Tracker

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.

Online demo

You can try the app without any installation here.

Checkout the Trying the app section for users and passwords.


Technical overview

The following InterSystems technologies was used in this project:

  • InterSystems IRIS Platform, providing general functionalities such as persistence, Web layer, REST API, security, and so on
  • InterSystems FHIR Server, providing CRUD for FHIR resources

Those technologies are used as depicted by the following diagram:

Application general architecture

The patient accesses the application using a web browser.

The application web resources are handled by the [IRIS Web Gateway[( 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.

Installing using ZPM

USER>zpm "pregnancy-symp-tracker-fhir-app"

Installing using Docker

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

Open the terminal in this directory and run:

$ docker-compose build
  1. Run the IRIS container with your project:
$ docker-compose up -d


After ZPM installation, you need to create a configuration object like this one:

Set ^restapi.FHIRaaSClient = {"config": {
    "Server": "",
    "Port": 443,
    "UseHTTPS": 1,
    "SSLConfig": "default",
    "APIKeyCred": "fhirserver-apikey"

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.

IRIS Interoperability Credentials

Trying the app

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:

Patient symptoms page

Patient dashboard page

Doctor's patient list

IPM installation
zpm "install pregnancy-symp-tracker-fhir-app"
3.5 (1)
ObjectScript quality test
Updated on 07 December 2023
ObjectScript quality report
Technology Example
Works with
InterSystems IRISInterSystems FHIR
Last updated