Skip to content

Commit

Permalink
creating repo
Browse files Browse the repository at this point in the history
  • Loading branch information
techno-newb committed Aug 8, 2023
0 parents commit 2a53197
Show file tree
Hide file tree
Showing 7 changed files with 1,633 additions and 0 deletions.
77 changes: 77 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# FHIR Query Builder

The FHIR Query Builder is a web application that provides an interface to interact with FHIR (Fast Healthcare Interoperability Resources) servers, facilitating the construction and execution of FHIR standard queries.

## Table of Contents
- [FHIR Query Builder](#fhir-query-builder)
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [User Interface Elements](#user-interface-elements)
- [Detailed Functionality](#detailed-functionality)
- [Server URL Input](#server-url-input)
- [Resource Selection](#resource-selection)
- [Parameter Entry](#parameter-entry)
- [Query Operations Toggle](#query-operations-toggle)
- [Query Submission and Result Display](#query-submission-and-result-display)
- [Technical Notes](#technical-notes)

## Features
This application provides several interactive features:

1. Dynamic resource selection
2. Query parameter manipulation
3. Support for 'Read' and 'Patient Everything' operations
4. Query execution
5. Result display with pagination

## User Interface Elements

The application is composed of several UI elements, each serving a specific purpose:

- **Server URL Input**: This is where you input the URL of your FHIR server.
- **Resource Select**: A dropdown menu where you can choose the resource type you want to query.
- **Parameter Input Fields**: These fields allow you to enter the parameter name and its corresponding value.
- **Add Parameter Button**: Click this to add the parameter to the query.
- **Read Operation Toggle**: A checkbox to enable or disable 'Read' operation.
- **Patient Everything Toggle**: A checkbox to enable or disable 'Patient Everything' operation.
- **Submit Button**: Click this to submit the query to the server.
- **Query Result Output**: The area where the query results will be displayed.
- **Next/Previous Page Button**: Buttons for navigating through pages of query results.
- **JSON Display**: This is where the JSON representation of a specific resource will be displayed.

## Detailed Functionality

### Server URL Input

- The server URL input field requires the user to enter the URL of the FHIR server they wish to query.
- Upon entering a URL, the application fetches and validates the server's capability statement to confirm its availability and capabilities.
- In case the server's capability statement cannot be fetched, the input field will be highlighted as invalid and an error message will be displayed.

### Resource Selection

- The dropdown menu is dynamically populated based on the types of resources available in the server's capability statement.
- Upon selecting a resource type, the application fetches the search parameters related to the chosen resource.

### Parameter Entry

- The parameter input fields allow the user to define additional parameters for the query.
- When the user fills in a parameter name and its value, then clicks the 'Add Parameter' button, a new parameter is added to the list of parameters used in constructing the query.

### Query Operations Toggle

- The 'Read Operation' checkbox modifies the query such that it reads the resource with a specific ID provided in the parameters.
- The 'Patient Everything Operation' checkbox modifies the query such that it fetches all information related to a specific patient when the resource type is 'Patient'.

### Query Submission and Result Display

- The 'Submit Query' button triggers the constructed query to be sent to the server.
- The results are then fetched and displayed in the 'Query Result Output' area.
- Each result entry can be clicked to view the full JSON representation of the resource.
- If the query results contain links to 'next' and 'previous' pages, the 'Next Page' and 'Previous Page' buttons are enabled to allow navigation through result pages.

## Technical Notes

This application uses modern JavaScript and web technologies to provide its functionality. Here are some important technical details:

- **Fetch API**: The application uses the Fetch API to send HTTP requests to the FHIR server.
- **Event Listeners**: Event listeners are used to react to user interactions like button clicks, dropdown selection
Loading

0 comments on commit 2a53197

Please sign in to comment.