PRPL - Assignment 2 - Software Analysis Document

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

SOFTWARE DEVELOPMENT PROJECT

ASSIGNMENT 2: SOFTWARE ANALYSIS DOCUMENT

Ahmad Helmi (20/454524/PA/19555)


Kavindra Alaika Ahmad (20/457771/PA/19809)
Dzaki Dzikril Hakim (20/454530/PA/19561)

DEPARTMENT OF COMPUTER SCIENCE AND ELECTRONICS


FACULTY OF MATHEMATICS AND NATURAL SCIENCES
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2022
An Interactive Visualization Tool for HL7 FHIR Specification
Browsing and Profiling
Na Hong, Kui Wang, Sizhu Wu, Feichen Shen, Lixia Yao, and Guoqian Jiang

Fast Healthcare Interoperability Resources (FHIR) is an interoperability standard developed by


Health Level 7 standards group (HL7) to allow for healthcare data to be electronically exchanged
across various systems in the healthcare sector without compromising the integrity of the data.

Because of complex semantic representation and structure definition, the FHIR specification is
relatively difficult to understand and utilise. HL7 guides users by providing HTML-based
browsing methods for FHIR models. However, it is essential for tooling support in model
browsing and interactive authoring to be developed to help users to better understand and utilise
the FHIR specification. This study aims to design, implement, and evaluate an interactive
visualisation tool for the FHIR specification in an integrated platform.

To visualise the FHIR models, the software considers the following main model components:
FHIR resources, profiles, and extensions. FHIR resources represent categories in which health
care data is broken down into, such as person, medication, and insurance plan. FHIR resources
define data elements, constraints, and relationships that when combined, make up an
exchangeable patient record. The core FHIR resources satisfy most common use cases.

FHIR resources can be adapted to define rules and requirements based on the context used. FHIR
profiling allows users to customise resources by specifying constraints and/or extensions on the
base resource. FHIR profile can therefore be defined as a group of Structure Definitions, Value
Sets, and examples, that are defined with a common purpose.

FHIR extensions allow for the inclusion of data that are not defined in the FHIR core resources.
For instance, race, ethnicity, and nationality are defined as extension elements. In a given
resource, they can be used to define new elements or extend data in a defined element.
Extensions are parts of FHIR profiles that extend usage and data types of FHIR core resources.

In addition, the software implements D3.js (a JavaScript library) and HAPI FHIR API as tools to
generate tree graphs for FHIR model visualisation and validate FHIR profiles respectively.
The software implements Visual FHIR, a graphical tool to convey the content of FHIR. Visual
FHIR allows browsing, profiling, and extension definition to be visualised. The outline of system
architecture are as follows: FHIR specification, user interaction, and clinical contexts of use. The
software allows users to perform visualised browsing, profiling, and extension defining.

For browsing FHIR resources, the software first parsed the schemas of the FHIR resources.
Resources follow the standards JSON, XML, and RDF. The schema in JSON contains two key
elements, "$ref" and "properties". The method used allows for schema to be parsed automatically
to obtain the Uniform Resource Identifiers (URIs) by following "$ref". The elements of each
schema file can then be found by parsing "properties". Next, functions d3.layout.tree and
d3.svg.diagonal are used to construct the tree graphs for the schemas. JQuery is used to support
interactive functions – allowing for dynamic interactions with the graph.

The software allows for the browsing for FHIR profile or extension. Similarly, this feature is also
supported by D3.js and JQuery. Structure of StructureDefinition file is parsed to obtain the
elements under "snapshot" node. Parsing node property "path" gives the relations between nodes
in the tree. Function d3.layout.tree and d3.svg.diagonal are used to construct the tree graphs, and
function d3.layout.force is used to create the relation graph.

Another feature the software provides is FHIR profile and extension creation. The software
prototype focuses on basic profiling functions, such as changing cardinality, removing elements
useless to the use case context, and adding use case extensions. To ensure that the extensions and
profiles the users customised satisfy the FHIR specification, HAPI FHIR
Profile/StructureDefinition validation API is used to perform validation processing.

The software arranges content and element hierarchy into an interactive diagram. It can be
expanded and collapsed by user interactions. FHIR model can be explored by interacting with
the nodes; users can drag nodes to move them around, or click on a node to see the details of
FHIR elements of said node. When users load new FHIR specifications, the current tree graph is
directly replaced by the new tree graph. Users can search for a specific element by entering the
element name; the system will display the target node centre of the page, highlighted in blue.
Users can customise extensions via the extension creation module. New extension elements can
be added, unnecessary elements removed, and element cardinality changed.
To determine the software utility, the software is evaluated using metrics that assess its
interactive mechanism and cognitive complexity. Interactive mechanism includes the following
criteria: speed of response, navigation and manipulation, and user orientation. Cognitive
complexity includes: content expressiveness, learning easiness, and supported display types. A
rating scale of 1 to 4 (4, excellent; 3, good; 2, fair; 1, poor) is implemented. Participants are
asked to score the performance of the software in each criteria based on the rating scale.

There are, however, some limitations to the current version of the software. For instance, more
advanced features such as profiling and authoring have yet to be implemented. Another
limitation is, based on the evaluation, the user-friendliness needs to be further improved.

Bibliography

1. N. Hong, K. Wang, S. Wu, F. Shen, L. Yao, G. Jiang, "An Interactive Visualization Tool for HL7 FHIR
Specification Browsing and Profiling," J Healthc Inform Res., vol. 3, no. 3, pp. 329-344, Sep.2019.
Accessed Nov. 08, 2022. doi: 10.1007/s41666-018-0043-8. [Online]. Available:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6784845.
2. "Introduction to FHIR Resources," healthit.gov.
https://www.healthit.gov/sites/default/files/page/2021-04/Intro%20to%20FHIR%20Resources%20Fact%20
Sheet.pdf (accessed Nov. 08, 2022).
3. M. Ruten, "FHIR Profiles and Implementation Guides," fire.ly.
https://fire.ly/blog/fhir-profiles-and-implementation-guides (accessed Nov. 08, 2022).
4. E. Yesakov, "What are FHIR Profiles," kodijin.com. https://kodjin.com/blog/what-are-fhir-profiles
(accessed Nov. 08, 2022).
5. "HL7 FHIR Extensions," lyniate.com. https://lyniate.com/resources/hl7-fhir-extensions (accessed Nov. 08,
2022).

You might also like