Skip to content

Commit

Permalink
add compatability matrix
Browse files Browse the repository at this point in the history
  • Loading branch information
pld committed Sep 19, 2024
1 parent 923b3f3 commit cc4df3a
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 129 deletions.
141 changes: 13 additions & 128 deletions docs/engineering/quickstart-guide/running-the-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,145 +6,30 @@ These guides assume you have an existing FHIR Store set up with a typical FHIR I

We will go through the example of setting up an electronic immunization registry (EIR) for a community health worker (CHW) expected to use the app. As we go we will note reusable pieces of functionality and at the end we will reference a number of use cases that can be addressed with a similar pattern.

## Quickstart guide

### Core workflows
Building a FHIR Based EIR (Electronic Immunization Registry) system involves integrating various healthcare workflows such as patient registration, vaccination, tracking, and reporting using standardized FHIR resources. Here’s a high-level breakdown for each component from a FHIR Resource Mapping perspective:

1. Registration

- FHIR Resources: Patient, Practitioner, Organization, Location

Details:

- Use the Patient resource to manage patient demographics, contact information, and identifiers (like national IDs or health insurance numbers).
- For healthcare providers or practitioners administering the vaccines, use the Practitioner resource.
- Clinics or organizations that provide vaccinations can be represented with the Organization/Location(Type:Building) resource.

Workflow:

- A patient registers at a vaccination site or via an online portal.
- The system creates or updates a Patient resource and is visible in a Household/Patient Register
- The Practitioner administering the vaccine is registered using the Practitioner resource from Patient Profiles

2. Vaccination

- FHIR Resources: Immunization, Medication, Observation

Details:

- The Immunization resource is used to record the vaccine administered, the date, the manufacturer, the dose, and the route of administration.
- Use the Medication resource to track vaccine details, including its lot number, expiry date, and ingredients.
- If any observations (e.g., side effects, adverse reactions) are required during or after vaccination, capture them using the Observation resource.

Workflow:

- fter administering the vaccine, the system records the vaccination details in the Immunization resource.
- The vaccine information such as type, batch number, and expiry is recorded using the Medication resource (optional).
- Any side effects are recorded as Observations (optional).

3. Tracking

- FHIR Resources: Immunization, ImmunizationRecommendation, Schedule, Appointment

Details:

- Use the Immunization resource to track all vaccinations given to a patient.
- The ImmunizationRecommendation resource helps schedule follow-up doses based on patient age, vaccination history, and guidelines (optional).
- You can leverage Schedule and Appointment resources to schedule future vaccinations (optional). Tasks resourece is being used in place of these 2 resource

Workflow:

- Once a patient receives their first dose, an ImmunizationRecommendation is generated for the next dose (optional).
- The system can generate a schedule for the patient’s remaining doses using Schedule and Appointment resources. Tasks resourece is being used in place of these 2 resource

4. Reporting

- FHIR Resources: Immunization, MeasureReport

Details:
- Aggregated vaccination data can be reported using the MeasureReport resource, which summarizes immunization status at individual and population levels.

Workflow:

- Generate reports for public health officials on vaccination coverage and identify gaps.
- Use the MeasureReport resource to analyze vaccination status by region, age group, or other demographic filters.


### Additional workflows

1. MUAC (Mid-Upper Arm Circumference)

• FHIR Resources: Observation

Details:

- MUAC is a key indicator for assessing malnutrition in children. Use the Observation resource to capture the measurement of the arm circumference.
- The value for MUAC will be recorded as a quantity with units (e.g., cm or mm) and will have a code indicating it is a MUAC measurement.

Workflow:

- During the patient’s visit, the healthcare provider measures the child’s MUAC.
- An Observation resource is created, capturing the measurement value, the method (e.g., tape measurement), and any interpretation (e.g., normal, moderate malnutrition, severe malnutrition).
- Observation may also contain other related data, such as the practitioner who recorded the measurement and the encounter in which the observation occurred.

2. Growth Monitoring

• FHIR Resources: Observation, FamilyMemberHistory, Patient

Details:

- Growth monitoring involves tracking height, weight, head circumference, and comparing these metrics to standardized growth charts.
- Use the Observation resource to record parameters like weight (LOINC 3141-9), height (LOINC 8302-2), and head circumference (LOINC 8287-5).
- FamilyMemberHistory can also be used to track genetic or hereditary conditions that may affect growth patterns(optional).

Workflow:

- During a clinic visit, the system collects a child’s growth parameters (height, weight, etc.) and stores these as Observation resources.
- These observations can be plotted against standard growth charts to evaluate if the child is growing at a normal rate.
- If there are concerns (e.g., stunted growth), the healthcare provider can use Observation to indicate a need for follow-up.

3. Adverse Reaction Tracking

• FHIR Resources: AdverseEvent, AllergyIntolerance, Condition, Observation

Details:

- Use the AdverseEvent resource to capture any adverse reactions following vaccination, such as fever, rash, or more severe reactions like anaphylaxis.
- If the adverse reaction is related to an allergy, you may also use the AllergyIntolerance resource to track any long-term contraindications or allergic responses(optional).
- Condition can also be used if the adverse reaction results in a medical condition that requires ongoing treatment.

Workflow:

- After vaccination, if the patient reports an adverse reaction, the healthcare provider records the details in an AdverseEvent resource.
- If necessary, further evaluations (e.g., temperature or blood pressure) can be recorded using Observation resources to monitor the reaction.
- The system can trigger alerts for serious reactions, schedule follow-up visits, or provide contraindication warnings for future doses.


### Deploying the health information infrastructure
## Deploying the infrastructure

Building a FHIR Core app using OpenSRP FHIRCore requires familiarity with both the OpenSRP platform and the HL7 FHIR (Fast Healthcare Interoperability Resources) standard.
The FHIRCore project, built on OpenSRP, is designed to facilitate the development of healthcare applications that interact with FHIR-compliant data stores. Here’s a step-by-step guide
to help you build a FHIR Core app using this repository:

#### Prerequisites
### Prerequisites

1. Technical Knowledge:
1. Technical Knowledge:

- Basic understanding of the FHIR standard.
- Familiarity with Android development (Java/Kotlin).
- Familiarity with Gradle, Docker, and possibly Kubernetes (if you are running OpenSRP in a containerized environment).
- Basic understanding of the FHIR standard.
- Familiarity with Android development (Java/Kotlin).
- Familiarity with Gradle, Docker, and possibly Kubernetes (if you are running OpenSRP in a containerized environment).

2. Required Tools:
2. Required Tools:

- Java Development Kit (JDK 11 or above).
- Android Studio.
- Git (for cloning the repository).
- Docker (optional for local server setup).
- Java Development Kit (JDK 11 or above).
- Android Studio.
- Git (for cloning the repository).
- Docker (optional for local server setup).

3. FHIR Server:
3. Backend servers:

- See more here - [Link to server setup](/docs/engineering/getting-started/server-setup.mdx)
- See [Running the backend](/docs/engineering/quickstart-guide/server-setup.mdx).

### Creating a custom app release

Expand Down
15 changes: 14 additions & 1 deletion docs/engineering/quickstart-guide/server-setup.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# Setting up the Backend
# Running the Backend

This guides you through the process of setting up the backend server infrastructure needed to use the OpenSRP 2 app. We then discuss how to deploy optional extensions for administration, data warehousing, integrations, etc.

## Compatability matrix

These are the recommend versions for a typical health information system setup that will support the OpenSRP2 mobile app.

Application|Recommended Version|Reference Link|Notes
---|---|---|---
PostgreSQL|≥ v14|[Official docker images](https://hub.docker.com/_/postgres/)
Keycloak|v22.0.5|[Docker image](https://quay.io/repository/keycloak/keycloak/manifest/sha256:bfa8852e52c279f0857fe8da239c0ad6bbd2cc07793a28a6770f7e24c1e25444)
FHIR Gateway|v1.0.3|[Docker image](https://hub.docker.com/layers/onaio/fhir-gateway-plugin/v1.0.3/images/sha256-bb03a9aa4f501072fd913f5d81c9d66b8a1298b4060da4573baf63656266b8f1?context=explore)<br/>[Github release]( https://github.com/onaio/fhir-gateway-plugin/releases/tag/v1.0.3)|Includes plugins used by OpenSRP
HAPI FHIR|v6.1.9|[Docker image](https://hub.docker.com/layers/onaio/fhir-gateway-plugin/v1.0.3/images/sha256-bb03a9aa4f501072fd913f5d81c9d66b8a1298b4060da4573baf63656266b8f1?context=explore)<br/>[Github release](https://github.com/onaio/fhir-gateway-plugin/releases/tag/v1.0.3)|JPA Server Starter
FHIR Web|v3.1.3|[Docker image](https://hub.docker.com/layers/opensrp/web/v3.1.3/images/sha256-48d0ec2aafb0ec2dc7c79dc0f3fbcb55b4802e04c4d836449c8fb46217287afe?context=explore)<br/>[Github release](https://github.com/onaio/fhir-web/releases/tag/v3.1.3)
Sentry|&ge; v21|[Documentation](https://github.com/getsentry/self-hosted/tree/master?tab=readme-ov-file)|Optional and recommended application monitoring

## FHIR Store

[Example with HAPI FHIR]
Expand Down

0 comments on commit cc4df3a

Please sign in to comment.