miracum / fhir-pseudonymizer Goto Github PK
View Code? Open in Web Editor NEWA REST service to pseudonymize and anonymize FHIR® resources.
License: MIT License
A REST service to pseudonymize and anonymize FHIR® resources.
License: MIT License
master
branch failed. 🚨I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can fix this 💪.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here are some links that can help you:
If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.
semantic-release cannot push the version tag to the branch master
on the remote Git repository with URL https://x-access-token:[secure]@github.com/miracum/fhir-pseudonymizer
.
This can be caused by:
Good luck with your project ✨
Your semantic-release bot 📦🚀
The GPAS URL is not correctly interpreted if the tailing / is missing.
Expected behavior:
GPAS__URL: " ... /ttp-fhir/fhir/gpas/" has the same result as GPAS__URL: "/ttp-fhir/fhir/gpas"
Without the / the requests to GPAS leads to an 405 Operation not allowed
There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
Error type: Cannot find preset's package (github>whitesource/merge-confidence:beta)
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are awaiting their schedule. Click on a checkbox to get an update now.
Verify.Xunit
, docker.io/jaegertracing/all-in-one
)github/codeql-action
, miracum/.github
)compose.dev.yaml
docker.io/jaegertracing/all-in-one 1.58@sha256:f015fb34e6742bb46b87c42cf83abfacfdd5dc39864a859a4ba942eb21c4b29c
docker.io/library/postgres 16.3@sha256:3cc4d8c8c79e3fa24dc20359983a416e57c616c05e5b5a84cd7fbe4a1581395d
ghcr.io/miracum/vfps v1.3.5@sha256:358427b400bd260000396aecb0d4a6f874d394ccb52c62897953493a2b8aac15
docker.io/mockserver/mockserver 5.15.0@sha256:0f9ef78c94894ac3e70135d156193b25e23872575d58e2228344964273b4af6b
quay.io/keycloak/keycloak 25.0.1@sha256:a3d10e729b140f5a044f6d04f324aa53ae58ed11398e0e6e432cb98042b41b1f
compose/compose.yaml
Dockerfile
mcr.microsoft.com/dotnet/aspnet 8.0.7-noble-chiseled@sha256:1f6d3352e053938ab1496d30a03b0f2fb6d45a7359aa0979ace5eca71cb3fec4
mcr.microsoft.com/dotnet/sdk 8.0.303-noble@sha256:487fcee12549e1f56567d238ed4198f2e9ef7de076d399980eae8dcdf84efe82
docker.io/bitnami/kubectl 1.30.2@sha256:3f6d4783cf84b56cb5aa33d0b404b5270aafaa6dcd5afe844b3cd55558383fa2
.github/workflows/chaos.yaml
actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
docker/setup-buildx-action v3.4.0@4fd812986e6c8c2a69e18311145f9371337f27d4
arduino/setup-task v2.0.0@b91d5d2c96a56797b48ac1e0e89220bf64044611
actions/upload-artifact v4.3.4@0b2256b8c012f0828dc542b3febcab082c67f72b
ubuntu 22.04
.github/workflows/ci.yaml
miracum/.github v1.11.2@028aedc2d5806bb362562560f5e871d9364902cd
actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
actions/download-artifact v4.1.8@fa0a91b85d4f404e444e00e005971372dc801d16
actions/download-artifact v4.1.8@fa0a91b85d4f404e444e00e005971372dc801d16
irongut/CodeCoverageSummary v1.3.0@51cc3a756ddcd398d447c044c02cb6aa83fdae95
marocchino/sticky-pull-request-comment v2.9.0@331f8f5b4215f0445d3c07b4967662a32a2d3e31
actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
helm/kind-action v1.10.0@0025e74a8c7512023d06dc019c617aa3cf561fde
actions/download-artifact v4.1.8@fa0a91b85d4f404e444e00e005971372dc801d16
marocchino/sticky-pull-request-comment v2.9.0@331f8f5b4215f0445d3c07b4967662a32a2d3e31
actions/upload-artifact v4.3.4@0b2256b8c012f0828dc542b3febcab082c67f72b
actions/upload-artifact v4.3.4@0b2256b8c012f0828dc542b3febcab082c67f72b
miracum/.github v1.11.2@028aedc2d5806bb362562560f5e871d9364902cd
miracum/.github v1.11.2@028aedc2d5806bb362562560f5e871d9364902cd
ubuntu 22.04
ubuntu 22.04
.github/workflows/lint-pr-title.yaml
amannn/action-semantic-pull-request v5@0723387faaf9b38adef4775cd42cfd5155ed6017
ubuntu 22.04
.github/workflows/schedule.yaml
miracum/.github v1.11.2@028aedc2d5806bb362562560f5e871d9364902cd
.github/workflows/scorecards.yaml
actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
ossf/scorecard-action v2.3.3@dc50aa9510b46c811795eb24b2f1ba02a914e534
actions/upload-artifact v4.3.4@0b2256b8c012f0828dc542b3febcab082c67f72b
github/codeql-action v3.25.11@b611370bb5703a7efb587f9d136a52ea24c5c38c
.config/dotnet-tools.json
csharpier 0.28.2
dotnet-outdated-tool 4.6.4
src/FhirPseudonymizer.StressTests/FhirPseudonymizer.StressTests.csproj
FluentAssertions 6.12.0
NBomber 5.7.0
xunit.runner.visualstudio 2.8.2
xunit 2.9.0
NBomber.Http 5.1.0
Microsoft.NET.Test.Sdk 17.10.0
Microsoft.AspNetCore.Mvc.Testing 8.0.7
src/FhirPseudonymizer.Tests/FhirPseudonymizer.Tests.csproj
coverlet.collector 6.0.2
xunit.runner.visualstudio 2.8.2
xunit 2.9.0
Verify.Xunit 25.3.0
Microsoft.NET.Test.Sdk 17.10.0
Microsoft.AspNetCore.Mvc.Testing 8.0.7
FluentAssertions 6.12.0
FakeItEasy 8.3.0
coverlet.msbuild 6.0.2
src/FhirPseudonymizer/FhirPseudonymizer.csproj
YamlDotNet 15.3.0
OpenTelemetry.Instrumentation.AspNetCore 1.9.0
OpenTelemetry.Instrumentation.Http 1.9.0
OpenTelemetry.Instrumentation.GrpcNetClient 1.8.0-beta.1
OpenTelemetry.Extensions.Hosting 1.9.0
OpenTelemetry.Exporter.OpenTelemetryProtocol 1.9.0
OpenTelemetry.Exporter.Jaeger 1.5.1
OpenTelemetry 1.9.0
Newtonsoft.Json 13.0.3
MathNet.Numerics 5.0.0
Ensure.That 10.1.0
Microsoft.Extensions.Http.Polly 8.0.7
Swashbuckle.AspNetCore 6.6.2
Semver 3.0.0-beta.1
prometheus-net.AspNetCore.HealthChecks 8.2.1
prometheus-net.AspNetCore.Grpc 8.2.1
prometheus-net 8.2.1
prometheus-net.AspNetCore 8.2.1
Hl7.Fhir.Base 5.8.2
Hl7.Fhir.R4 5.8.2
Grpc.Tools 2.64.0
Grpc.Net.ClientFactory 2.63.0
Grpc.Net.Client 2.63.0
Google.Protobuf 3.27.2
FhirParametersGenerator 0.5.0
AspNetCore.Authentication.ApiKey 8.0.1
Duende.AccessTokenManagement 2.1.2
have tried to reserve memory: 4g, unfortunately it doesn't work. Has anyone such problem?
System.Text.Json
-based FHIR parser and remove the option to unset itgPAS
was supported as a pseudonymization service, we've defaulted PseudonymizationService
to gPAS
. In the next version, this should be set to None
. Possibly log a warning/error if the anonymization.yaml uses a pseudonymize
method but no backend is defined at startup.gPAS__Version
setting, defaulting it to 2023 in the hopes that the published FHIR endpoint is now stable enough.Metrics.Enabled
and Metrics.Port
complex typeExtending anonymization / pseudonymization to values which are part of Conditional References.
The most common example is probably identifier match urls, i.e. "reference": "Patient?identifier=http://fhir.test.de/sid/patient-id|123"
.
{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"resourceType": "Observation",
"subject": {
"reference": "Patient?identifier=http://fhir.test.de/sid/patient-id|123"
}
}]
}
"request": {
"method": "PUT",
"url": "Patient?identifier=http://fhir.test.de/sid/patient-id|123"
}
This can be achieved by adding an additional Regular expression in the ReferencyUtility class matching those Ids in conditional references.
Currently, only literal references are supported. I suggest treating conditional references as resource references, too (since they are both refering to a FHIR resource and are checked against supported resource types).
In addition, the feature which implicitly sets the domain name (if omitted in the settings) could also be extended.
The resource type can be parsed from both literal and conditional references.
I have tested these changes locally and will create a pull request to further discuss this proposal and review changes. I intend to only support identifier match urls for now, since those are - in my opinion - the most common use case.
There's a special case when using the cryptoHash
method on literal references nodes:
There is a special case when crypto hashing a literal reference element. The tool captures and transforms only the id part from a reference, for example, reference Patient/123 will be hashed to Patient/a3c024f01cccb3b63457d848b0d2f89c1f744a3d. In this way, you can easily resolve references across anonymized FHIR resources.
However, this only covers reference string nodes. I would propose extending this feature to reference uri nodes like Bundle.request.url
.
This would serve the same purpose (i.e. targeting resource ids). The gPAS pseudonymization processor which provides the same feature (for pseudonymization), already covers handling uri nodes. In my opinion, this feature is incomplete without handling those, as well.
@chgl What do you think?
https://simplifier.net/guide/ttp-fhir-gateway-ig/pseudonymizeAllowCreate
Afaik, the following changes were made in gPAS TTP GW:
and maybe more...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.