UploadFIG 2023.7.28.1

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global UploadFIG --version 2023.7.28.1
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local UploadFIG --version 2023.7.28.1
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=UploadFIG&version=2023.7.28.1
nuke :add-package UploadFIG --version 2023.7.28.1

UploadFIG - FHIR Implementation Guide (FIG) Uploader R4B

This tool provides a way to deploy a FHIR Implementation Guide to a FHIR Server. The content can be loaded from: * (-pid) the fhir registry via packageID * (-s) an explicit web location (complete source URL including filename where applicable) * (-s) a file on the local filesystem

During the upload step the utility will:

  • GET the resource ID directly
    • compare if the resource has changed (excluding meta.versionId, meta.lastUpdated and text)
    • skip if the resource is the same
  • search for the resource by canonical URL (if it is a canonical resource)
    • verify that there is not another resource on the server already using that canonical URL (hence uploading may cause issues resolving)
    • verify that the version hasn't been messed with

During the processing this utility will:

  • Validate any fhirpath invariants in profiles
  • Validate any search parameters included (Note: These validation results should be verified as correct and investigate if they would impact the operation of the guide in your environment/toolchain)

Running the utility

Usage:
  UploadFIG [options]

Options:
  -s, --sourcePackagePath <sourcePackagePath>                The explicit path of a package to process (over-rides
                                                             PackageId/Version)
  -fd, --forceDownload                                       Force the download of the package from the source package path
                                                             (If not specified, will use the last downloaded package)
                                                             [default: False]
  -pid, --packageId <packageId>                              The Package ID of the package to upload (from the HL7 FHIR Package
                                                             Registry)
  -pv, --packageVersion <packageVersion>                     The version of the Package to upload (from the HL7 FHIR Package
                                                             Registry)
  -r, --resourceTypes <resourceTypes>                        Which resource types should be processed by the uploader 
                                                             [default: StructureDefinition|ValueSet|CodeSystem|SearchParameter
                                                             |ConceptMap|StructureMap]
  -if, --ignoreFiles <ignoreFiles>                           Any specific files that should be ignored/skipped when processing the
                                                             package
  -ic, --ignoreCanonicals <ignoreCanonicals>                 Any specific Canonical URls that should be ignored/skipped when
                                                             processing the package
  -d, --destinationServerAddress <destinationServerAddress>  The URL of the FHIR Server to upload the package contents to
  -dh, --destinationServerHeaders <destinationServerHeaders> Headers to add to the request to the destination FHIR Server
                                                             e.g. `Authentication: Bearer xxxxxxxxxxx`
  -df, --destinationFormat                                   The format to upload to the destination server
                                                             [default: xml]
  -t, --testPackageOnly                                      Only perform download and static analysis checks on the Package.
                                                             Does not require a DestinationServerAddress, will not try to connect
                                                             to one if provided
                                                             [default: False]
  -cn, --checkAndCleanNarratives                             Check and clean any narratives in the package and remove suspect ones
                                                             (based on the MS FHIR Server's rules)
                                                             [default: False]
  -c, --checkPackageInstallationStateOnly                    Download and check the package and compare with the contents of the
                                                             FHIR Server, but do not update any of the contents of the FHIR Server
                                                             [default: False]
  --includeExamples                                          Also include files in the examples sub-directory
                                                             (Still needs resource type specified)
  --verbose                                                  Provide verbose diagnostic output while processing
                                                             (e.g. Filenames processed)
                                                             [default: False]
  --version                                                  Show version information
  -?, -h, --help                                             Show help and usage information

Examples

Review the SDOH Clinical Care IG Package

Test the pacakge content and not try and upload any data to a server, and will grab the latest version from the HL7 FHIR Package Registry

UploadFIG -pid hl7.fhir.us.sdoh-clinicalcare -t

Verify an installation of the US Core v6.1.0

Check to see if the US Core IG Package v6.1.0 is loaded onto a local server, and if any content has changed

UploadFIG -pid hl7.fhir.us.core -pv 6.1.0 -c -d https://localhost:44348 --verbose

Skip processing of a specific file

UploadFIG -d https://localhost:44348 -pid hl7.fhir.au.base -pv 4.0.0 --verbose -if package/StructureDefinition-medication-brand-name.json

Direct download a specific package

(Note that you should include the forceDownload flag here to ensure that it doesn't use a locally saved file)

UploadFIG -d https://localhost:44348 -s https://example.org/demo-package.tgz -t --verbose --forceDownload

Test a locally built package

UploadFIG -s E:\git\HL7\fhir-sdoh-clinicalcare-publish\output\package.r4b.tgz -t --verbose

Upload AU Base to a Microsoft FHIR Server

(Note the inclusion of the -cn flag to cleanse any narratives that would be otherwise rejected by the Microsoft FHIR Server)

UploadFIG -d https://localhost:44348 -pid hl7.fhir.au.base -pv 4.0.0 -cn

Upload the latest version of the SDC IG to a FHIR Server in JSON format

Some fhir servers may only be able to support a single format, so you can specify xml or json explicitly to use while uploading. This is indepent of the format of the content that is native inside the IG package.

UploadFIG -pid hl7.fhir.au.base -d https://localhost:44348 -df json

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
2024.4.4.1 1,019 4/4/2024
2024.2.23.1 1,419 2/23/2024
2024.1.11.1 501 1/11/2024
2024.1.3.2 256 1/3/2024
2024.1.3.1 252 1/3/2024
2023.12.15.2 213 12/15/2023
2023.12.15.1 169 12/15/2023
2023.11.22.1 313 11/22/2023
2023.11.8.1 204 11/8/2023
2023.11.6.1 241 11/6/2023
2023.10.24.1 250 10/24/2023
2023.10.10.1 290 10/9/2023
2023.10.9.1 287 10/9/2023
2023.10.7.2 183 10/7/2023
2023.10.7.1 336 10/7/2023
2023.9.22.2 252 9/21/2023
2023.9.22.1 311 9/21/2023
2023.9.21.1 206 9/20/2023
2023.8.18.1 307 8/18/2023
2023.8.11.2 264 8/11/2023
2023.8.11.1 208 8/11/2023
2023.8.4.3 164 8/4/2023
2023.8.4.2 150 8/4/2023
2023.8.4.1 149 8/4/2023
2023.8.3.16 150 8/3/2023
2023.8.3.15 164 8/3/2023
2023.8.2.2 174 8/2/2023
2023.8.2.1 189 8/2/2023
2023.8.1.1 133 8/1/2023
2023.7.28.3 148 7/28/2023
2023.7.28.2 176 7/28/2023
2023.7.28.1 188 7/28/2023
2023.7.27.4 158 7/27/2023
2023.7.27.3 160 7/27/2023
2023.7.27.2 147 7/26/2023
2023.7.27.1 153 7/26/2023
2023.7.19.4 165 7/19/2023
2023.7.19.3 160 7/19/2023