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

Initial Release

What's new in the version

Initial Release


The Brazilian mother, on the recommendation of the Ministry of Health, has a document to record the most important information about the pregnancy: the pregnant notebook.

Just as it represents a great ally of the pregnant woman, it also appears as something essential for the professionals who accompany her. Therefore, even if she is attended by different doctors or nurses, from the moment she has everything registered, the assistance provided improves.

And this goes far beyond prenatal care! As much as the great performance is throughout the weeks of pregnancy, with notes at each appointment, the card will make all the difference at the time of delivery. It is he who will guide all the conduct not only for the birth, but also for the baby.


This system is a set of components: the Pregnant Notebook GUI web part, a cloud-based FHIR server, where the results of diagnostic medicine exams performed by the patient are made available.

The web-based GUI interface to obtain the information of the results of the exams performed by the patient is developed with the Angular framework and the ng-zorro Ant Design (https://ng.ant.design/docs/introduce/en)



For each and every health service that the pregnant woman attends, it is necessary to carry these records with her, as they contain important data, such as:

  • ultrasound results;
  • serology tests;
  • complications of pregnancy;
  • blood typing;
  • gestational age.

Blood typing Blood incompatibility, especially of the Rh factor, can result in hematological complications. The best known of them is called erythroblastosis fetalis, which appears as an attack on the baby's blood cells.

Serologies The investigation can be performed more than once during pregnancy! If the pregnant woman is not immune to toxoplasmosis, for example, it is necessary to redo the research periodically. The same happens with the other negative serologies, such as HIV, syphilis and hepatitis B.

Urine tests Another special attention should be given to urinary issues. Pregnancy alone increases the risk of infections that urinate. Therefore, even if you do not have any symptoms, it is necessary to periodically assess whether there is any current infection. If the pregnant woman has more than one infection during pregnancy, it is valid to initiate measures to prevent new episodes.

Comorbidities There are the so-called hypertensive syndromes of pregnancy, which must be detected in a timely manner for treatment. Another aspect that should always be researched is gestational diabetes, especially between 24 and 28 weeks.

Vaccines Even if you present the complete vaccination card, you need to take a few more essential bites:

  • bacterial triplet;
  • adult pair (diphtheria and tetanus);
  • influenza (flu).


Video application


Make sure you have git and Docker desktop installed.


Clone/git pull the repo into any local directory

$ git clone https://github.com/intersystems-community/iris-fhir-template.git

Open the terminal in this directory and run:

$ docker-compose up -d

FrontEnd Start

Access directory

$ cd app-pregnant-notebook/

Install dependencies

$ npm i


$ ng serve --port 0 --open

Environments settings: fhir-healthy-pregnancy/app-pregnant-notebook/src/environments/environment.ts

  • Update fhirserver
  • Update patientKey
export const environment = {
  production: false,
  fhirserver: 'http://localhost:32783/fhir/r4',
  patientKey: '1510'

Patient data

The template goes with 5 preloaded patents in /data/fhir folder which are being loaded during docker build You can generate more patients doing the following. Open shel terminal in repository folder and call:

#./synthea-loader.sh 10

this will create 10 more patients in data/fhir folder. Then open IRIS terminal in FHIRSERVER namespace with the following command:

docker-compose exec iris iris session iris -U FHIRServer

and call the loader method:

FHIRSERVER>d ##class(fhirtemplate.Setup).LoadPatientData("/irisdev/app/output/fhir","FHIRSERVER","/fhir/r4")

with using the following project


The simplest dockerfile which starts IRIS and imports Installer.cls and then runs the Installer.setup method, which creates IRISAPP Namespace and imports ObjectScript code from /src folder into it. Use the related docker-compose.yml to easily setup additional parametes like port number and where you map keys and host folders. Use .env/ file to adjust the dockerfile being used in docker-compose.


Settings file to let you immedietly code in VSCode with VSCode ObjectScript plugin)


Config file if you want to debug with VSCode ObjectScript


ERROR #5001: Error -28 Creating Directory /usr/irissys/mgr/FHIRSERVER/ If you see this error it probably means that you ran out of space in docker. you can clean up it with the following command:

docker system prune -f

And then start rebuilding image without using cache:

docker-compose build --no-cache

and start the container with:

docker-compose up -d

This and other helpful commands you can find in dev.md


Read related documentations: fhir


Davi Muta

Edmara Francisco Linkedin: Edmara Francisco

3.5 (1)
ObjectScript quality test
Updated on 02 December 2023
ObjectScript quality report
Works with
InterSystems FHIR
Last updated