This repository hosts the c# reference application for the PIQI framework
Patient Information Quality Improvement (PIQI) is an emerging open framework for evaluating the quality of electronic patient data. It aims to enhance the usability of shared patient information by ensuring it meets specific criteria for accuracy, conformity, availability, and plausibility. PIQI assesses data against a standard, such as USCDI v3, generates a scorecard, and provides insights into issues affecting the quality score. This feedback enables data sources to make necessary adjustments to meet quality requirements.
This code is intended to serve as a reference guide for implementing the PIQI framework. The primary goal was to provide clear and understandable examples rather than optimizing for performance.
- Allows users to evaluate the quality of electronic patient data.
- Takes input data in PIQI format.
- Uses FHIR terminology services for validation.
- Generates a quality scorecard and insights.
- Provides a foundation for building more complex applications.
- Easily extensible for additional models and rubrics.
List things that are prerequisites to setting up the project.
- .NET SDK 8.0 or later
- Visual Studio or other IDEs
-
Clone the repository:
git clone https://github.com/piqiframework/reference_application.git
-
Navigate into the project directory:
cd reference_application -
Restore dependencies:
dotnet restore
-
Add FHIR terminology services configuration in
appsettings.json(Note: example code does not support authentication for FHIR terminology service):{ "Fhir": { "BaseUrl": "<YOUR FHIR SERVER URL GOES HERE>" } } -
Build the project:
dotnet build
-
Run the Application (This will start the web service, currently configured to run on port 44398
https://localhost:44398/):dotnet run
Once the application is running, you can interact with the API using the built-in Swagger UI.
-
Navigate to Swagger:
Open your web browser and go to:
https://localhost:44398/swagger -
Explore Endpoints:
The Swagger page will display all available endpoints, allowing you to test them directly from the UI. You can view detailed information about each endpoint, including parameters, request bodies, and response formats.
-
Test Endpoints:
- Select an endpoint from the list.
- Click on "Try it out" to expand the options.
- Fill in any required parameters or request body fields.
- Click "Execute" to send a request and view the response directly in your browser.
You can also call the web service programmatically using HTTP clients available in various programming languages.
Contributions are what make the open-source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Please read our contributing guidelines to get started.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the Apache 2.0 License. See LICENSE for more information.
Project Link: https://github.com/piqiframework