I ran it just now, and that validator actually reports more ERRORS - here is the output.
java -jar validator_cli.jar -version 4.0 \
-ig ig-packages/hl7.fhir.us.davinci-hrex-1.1.0.tgz \
-ig ig-packages/hl7.fhir.us.davinci-pdex-2.1.0-ballot.tgz \
-ig ig-packages/hl7.fhir.us.core-7.0.0.tgz \
-profile http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/pdex-parameters-multi-member-match-bundle-in \
example-bulk-member-match.json \
-output-style compact
FHIR Validation tool Version 6.5.22 (Git# e9e5a3d6309e). Built 2025-05-28T23:29:40.995Z (33 hours old)
Java: 23.0.2 from /home/jvissers/.sdkman/candidates/java/23.0.2-oracle on amd64 (64bit). 15888MB available
Paths: Current = /home/jvissers/Downloads, Package Cache = /home/jvissers/.fhir/packages
Params: -version 4.0 -ig ig-packages/hl7.fhir.us.davinci-hrex-1.1.0.tgz -ig ig-packages/hl7.fhir.us.davinci-pdex-2.1.0-ballot.tgz -ig ig-packages/hl7.fhir.us.core-7.0.0.tgz -profile http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/pdex-parameters-multi-member-match-bundle-in example-bulk-member-match.json -output-style compact
Locale: /
Jurisdiction: United States of America
Loading
Load FHIR v4.0 from hl7.fhir.r4.core#4.0.1 Load hl7.terminology.r4#6.2.0 - 4288 resources (00:03.111)
Load hl7.fhir.uv.extensions.r4#5.2.0 - 759 resources (00:00.959)
- 8265 resources (00:00.000)
Load hl7.fhir.uv.extensions.r5#5.2.0 - 759 resources (00:01.077)
Load hl7.terminology#6.4.0 - 4346 resources (00:00.318)
Load hl7.terminology.r5#6.2.0 - 4288 resources (00:00.789)
Load hl7.fhir.uv.extensions#5.2.0 - 759 resources (00:00.003)
Terminology server http://tx.fhir.org - Version Connected to Terminology Server at http://tx.fhir.org (00:02.036)
Load hl7.terminology.r4#6.1.0 - 4279 resources (00:00.681)
Load hl7.fhir.uv.extensions.r4#5.1.0 - 1397 resources (00:00.635)
Load hl7.terminology.r4#5.5.0 - 4225 resources (00:01.353)
Load hl7.fhir.uv.smart-app-launch#2.0.0 - 1 resources (00:00.000)
Load us.nlm.vsac#0.18.0 - 30140 resources (00:00.266)
Load hl7.fhir.r4.examples#4.0.1 - 4581 resources (00:01.419)
Load hl7.fhir.uv.sdc#3.0.0 - 138 resources (00:00.006)
Load us.cdc.phinvads#0.12.0 - 1967 resources (00:00.046)
Load hl7.terminology.r5#5.3.0 - 4202 resources (00:01.514)
Load hl7.fhir.uv.extensions#5.1.0-snapshot1 - 1379 resources (00:00.005)
Load hl7.fhir.us.core#7.0.0 - 217 resources (00:00.000)
Load hl7.terminology.r4#5.0.0 - 4175 resources (00:02.971)
Load hl7.fhir.uv.extensions.r4#1.0.0 - 1329 resources (00:00.658)
Load hl7.fhir.uv.bulkdata#2.0.0 - 7 resources (00:00.033)
Load hl7.fhir.uv.smart-app-launch#2.1.0 - 8 resources (00:00.052)
Load us.nlm.vsac#0.11.0 - 14323 resources (00:00.134)
Load ihe.formatcode.fhir#1.1.0 - 3 resources (00:00.000)
Load hl7.fhir.us.core#6.1.0 - 213 resources (00:00.278)
Load hl7.fhir.us.core.v610#6.1.0 - 0 resources (00:00.000)
Load hl7.fhir.us.core#3.1.1 - 146 resources (00:00.100)
Load hl7.fhir.us.core.v311#3.1.1 - 0 resources (00:00.000)
Load us.nlm.vsac#0.19.0 - 15332 resources (00:00.158)
Load ig-packages/hl7.fhir.us.davinci-hrex-1.1.0.tgz#1.1.0 - 28 resources (00:00.088)
Load hl7.fhir.us.core.3.1.1#3.1.1 - 0 resources (00:00.051)
Load hl7.terminology.r4#6.0.2 - 4244 resources (00:07.126)
Load hl7.terminology.r5#5.5.0 - 4225 resources (00:04.252)
Load hl7.fhir.uv.extensions#5.1.0 - 1397 resources (00:00.006)
Load hl7.fhir.us.davinci-hrex#1.1.0-ballot - 31 resources (00:00.013)
Load us.nlm.vsac#0.7.0 - 12403 resources (00:00.172)
Load hl7.fhir.us.carin-bb#2.1.0-snapshot1 - 96 resources (00:00.000)
Load hl7.terminology.r4#5.3.0 - 4202 resources (00:09.945)
Load hl7.fhir.us.udap-security#0.1.0 - 2 resources (00:00.099)
Load hl7.fhir.us.davinci-hrex#1.0.0 - 26 resources (00:00.000)
Load hl7.fhir.us.davinci-crd#2.0.0 - 42 resources (00:00.006)
Load hl7.fhir.uv.subscriptions-backport.r4#1.1.0 - 24 resources (00:00.044)
Load hl7.fhir.us.davinci-pas#2.0.1 - 97 resources (00:00.005)
Load hl7.fhir.uv.bulkdata#1.0.1 - 5 resources (00:00.084)
Load hl7.fhir.us.davinci-pdex-plan-net#1.1.0 - 112 resources (00:00.044)
Load hl7.fhir.us.davinci-pas#1.2.0-ballot - 81 resources (00:00.064)
Load hl7.fhir.us.carin-bb#2.0.0 - 91 resources (00:00.042)
Load hl7.fhir.uv.sdc#3.0.0-preview - 138 resources (00:00.067)
Load hl7.fhir.us.davinci-dtr#1.1.0-ballot - 12 resources (00:00.000)
Load hl7.fhir.us.davinci-cdex#2.0.0 - 22 resources (00:00.045)
Load hl7.fhir.us.davinci-atr#2.0.0 - 33 resources (00:00.000)
Load hl7.terminology.r4#3.1.0 - 4118 resources (00:10.717)
Load hl7.fhir.us.core#5.0.1 - 193 resources (00:00.001)
Load hl7.terminology.r4#4.0.0 - 4165 resources (00:12.603)
Load hl7.fhir.us.udap-security#1.0.0 - 1 resources (00:00.000)
Load hl7.fhir.uv.subscriptions-backport#0.1.0 - 23 resources (00:00.073)
Load hl7.fhir.us.ndh#1.0.0-ballot - 257 resources (00:00.289)
Load hl7.fhir.uv.tools#0.4.0 - 93 resources (00:01.531)
Load hl7.fhir.us.davinci-crd#current - 52 resources (00:00.007)
Load hl7.fhir.us.davinci-dtr#2.0.0 - 29 resources (00:00.006)
Load hl7.fhir.uv.extensions#5.1.0-ballot1 - 1364 resources (00:00.043)
Load ig-packages/hl7.fhir.us.davinci-pdex-2.1.0-ballot.tgz#2.1.0-ballot - 80 resources (00:00.176)
Load ig-packages/hl7.fhir.us.core-7.0.0.tgz#7.0.0 - 0 resources (00:00.047)
Package Summary: [hl7.fhir.r4.core#4.0.1, hl7.fhir.xver-extensions#0.1.0, hl7.terminology.r4#6.2.0, hl7.fhir.uv.extensions.r4#5.2.0, hl7.fhir.uv.extensions.r5#5.2.0, hl7.terminology#6.4.0, hl7.terminology.r5#6.2.0, hl7.fhir.uv.extensions#5.2.0, hl7.terminology.r4#6.1.0, hl7.fhir.uv.extensions.r4#5.1.0, hl7.terminology.r4#5.5.0, hl7.fhir.uv.smart-app-launch#2.0.0, us.nlm.vsac#0.18.0, hl7.fhir.r4.examples#4.0.1, hl7.fhir.uv.sdc#3.0.0, us.cdc.phinvads#0.12.0, hl7.terminology.r5#5.3.0, hl7.fhir.uv.extensions#5.1.0-snapshot1, hl7.fhir.us.core#7.0.0, hl7.terminology.r4#5.0.0, hl7.fhir.uv.extensions.r4#1.0.0, hl7.fhir.uv.bulkdata#2.0.0, hl7.fhir.uv.smart-app-launch#2.1.0, us.nlm.vsac#0.11.0, ihe.formatcode.fhir#1.1.0, hl7.fhir.us.core#6.1.0, hl7.fhir.us.core.v610#6.1.0, hl7.fhir.us.core#3.1.1, hl7.fhir.us.core.v311#3.1.1, us.nlm.vsac#0.19.0, hl7.fhir.us.davinci-hrex#1.1.0, hl7.fhir.us.core.3.1.1#3.1.1, hl7.terminology.r4#6.0.2, hl7.terminology.r5#5.5.0, hl7.fhir.uv.extensions#5.1.0, hl7.fhir.us.davinci-hrex#1.1.0-ballot, us.nlm.vsac#0.7.0, hl7.fhir.us.carin-bb#2.1.0-snapshot1, hl7.terminology.r4#5.3.0, hl7.fhir.us.udap-security#0.1.0, hl7.fhir.us.davinci-hrex#1.0.0, hl7.fhir.us.davinci-crd#2.0.0, hl7.fhir.uv.subscriptions-backport.r4#1.1.0, hl7.fhir.us.davinci-pas#2.0.1, hl7.fhir.uv.bulkdata#1.0.1, hl7.fhir.us.davinci-pdex-plan-net#1.1.0, hl7.fhir.us.davinci-pas#1.2.0-ballot, hl7.fhir.us.carin-bb#2.0.0, hl7.fhir.uv.sdc#3.0.0-preview, hl7.fhir.us.davinci-dtr#1.1.0-ballot, hl7.fhir.us.davinci-cdex#2.0.0, hl7.fhir.us.davinci-atr#2.0.0, hl7.terminology.r4#3.1.0, hl7.fhir.us.core#5.0.1, hl7.terminology.r4#4.0.0, hl7.fhir.us.udap-security#1.0.0, hl7.fhir.uv.subscriptions-backport#0.1.0, hl7.fhir.us.ndh#1.0.0-ballot, hl7.fhir.uv.tools#0.4.0, hl7.fhir.us.davinci-crd#current, hl7.fhir.us.davinci-dtr#2.0.0, hl7.fhir.uv.extensions#5.1.0-ballot1, hl7.fhir.us.davinci-pdex#2.1.0-ballot]
Terminology Cache at /tmp/default-tx-cache
Get set... go (00:05.043)
Cached new session. Cache size = 1
Validating
Profiles: [http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/pdex-parameters-multi-member-match-bundle-in]
Validate example-bulk-member-match.json
Validate Parameters against http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/pdex-parameters-multi-member-match-bundle-in|2.1.0-ballot..........20..........40..........60..........80.........|
00:03.453
Done. Times: Loading: 01:11.456, validation: 00:03.453. Memory = 2Gb
----------------------------------------------------------------------------------
example-bulk-member-match.json 08:59:06
[23, 16] Parameters.parameter[0].part[0].resource/*Patient/1*/.identifier[0]: Information - This element does not match any known slice defined in the profile http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics|1.1.0-ballot (this may not be a problem, but you should check that it's not intended to match a slice)
[24, 18] Parameters.parameter[0].part[0].resource/*Patient/1*/.identifier[0].type: Warning - None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/v2-0203#MB)
[32, 76] Parameters.parameter[0].part[0].resource/*Patient/1*/.identifier[0].system: Error - Example URLs are not allowed in this context (http://example.org/old-payer/identifiers/member)
[64, 18] Parameters.parameter[0].part[1].resource/*Coverage/9876B1*/.identifier[0].type: Warning - None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/v2-0203#MB)
[72, 57] Parameters.parameter[0].part[1].resource/*Coverage/9876B1*/.identifier[0].system: Error - Example URLs are not allowed in this context (http://example.org/old-payer)
[78, 14] Parameters.parameter[0].part[1].resource/*Coverage/9876B1*/.beneficiary: Error - Unable to find a profile match for Patient/1 among choices: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics
[78, 14] Parameters.parameter[0].part[1].resource/*Coverage/9876B1*/.beneficiary: Information - Details for Patient/1 matching against profile http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics|1.1.0-ballot
[164, 14] Parameters.parameter[0].part[2].resource/*Consent/consent-1*/.patient: Error - Unable to find a profile match for Patient/1 among choices: http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0
[164, 14] Parameters.parameter[0].part[2].resource/*Consent/consent-1*/.patient: Information - Details for Patient/1 matching against profile http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0
[168, 16] Parameters.parameter[0].part[2].resource/*Consent/consent-1*/.performer[0]: Error - Unable to find a profile match for Patient/1 among choices: http://hl7.org/fhir/StructureDefinition/RelatedPerson, http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0, http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-organization, http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-practitioner, http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-practitionerrole
[168, 16] Parameters.parameter[0].part[2].resource/*Consent/consent-1*/.performer[0]: Information - Details for Patient/1 matching against profile http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0
[177, 107] Parameters.parameter[0].part[2].resource/*Consent/consent-1*/.policy[0].uri: Error - No definition could be found for URL value 'http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular'
[188, 20] Parameters.parameter[0].part[2].resource/*Consent/consent-1*/.provision.actor[0].role: Warning - None of the codings provided are in the value set 'SecurityRoleType' (http://hl7.org/fhir/ValueSet/security-role-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/provenance-participant-type#performer)
[223, 18] Parameters.parameter[0].part[2].resource/*Consent/consent-1*/.provision.action[0]: Information - Reference to draft CodeSystem http://terminology.hl7.org/CodeSystem/consentaction|1.0.0
[246, 18] Parameters.parameter[0].part[3].resource/*Coverage/AA87654*/.identifier[0].type: Warning - None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/v2-0203#MB)
[254, 78] Parameters.parameter[0].part[3].resource/*Coverage/AA87654*/.identifier[0].system: Error - Example URLs are not allowed in this context (http://example.org/new-payer/identifiers/coverage)
[260, 14] Parameters.parameter[0].part[3].resource/*Coverage/AA87654*/.beneficiary: Error - Unable to find a profile match for Patient/1 among choices: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics
[260, 14] Parameters.parameter[0].part[3].resource/*Coverage/AA87654*/.beneficiary: Information - Details for Patient/1 matching against profile http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics|1.1.0-ballot
[297, 16] Parameters.parameter[1].part[0].resource/*Patient/2*/.identifier[0]: Information - This element does not match any known slice defined in the profile http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics|1.1.0-ballot (this may not be a problem, but you should check that it's not intended to match a slice)
[298, 18] Parameters.parameter[1].part[0].resource/*Patient/2*/.identifier[0].type: Warning - None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/v2-0203#MB)
[306, 76] Parameters.parameter[1].part[0].resource/*Patient/2*/.identifier[0].system: Error - Example URLs are not allowed in this context (http://example.org/old-payer/identifiers/member)
[338, 18] Parameters.parameter[1].part[1].resource/*Coverage/876B10*/.identifier[0].type: Warning - None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/v2-0203#MB)
[346, 57] Parameters.parameter[1].part[1].resource/*Coverage/876B10*/.identifier[0].system: Error - Example URLs are not allowed in this context (http://example.org/old-payer)
[352, 14] Parameters.parameter[1].part[1].resource/*Coverage/876B10*/.beneficiary: Error - Unable to find a profile match for Patient/2 among choices: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics
[352, 14] Parameters.parameter[1].part[1].resource/*Coverage/876B10*/.beneficiary: Information - Details for Patient/2 matching against profile http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics|1.1.0-ballot
[438, 14] Parameters.parameter[1].part[2].resource/*Consent/consent-2*/.patient: Error - Unable to find a profile match for Patient/2 among choices: http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0
[438, 14] Parameters.parameter[1].part[2].resource/*Consent/consent-2*/.patient: Information - Details for Patient/2 matching against profile http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0
[442, 16] Parameters.parameter[1].part[2].resource/*Consent/consent-2*/.performer[0]: Error - Unable to find a profile match for Patient/2 among choices: http://hl7.org/fhir/StructureDefinition/RelatedPerson, http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0, http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-organization, http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-practitioner, http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-practitionerrole
[442, 16] Parameters.parameter[1].part[2].resource/*Consent/consent-2*/.performer[0]: Information - Details for Patient/2 matching against profile http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0
[451, 107] Parameters.parameter[1].part[2].resource/*Consent/consent-2*/.policy[0].uri: Error - No definition could be found for URL value 'http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular'
[462, 20] Parameters.parameter[1].part[2].resource/*Consent/consent-2*/.provision.actor[0].role: Warning - None of the codings provided are in the value set 'SecurityRoleType' (http://hl7.org/fhir/ValueSet/security-role-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/provenance-participant-type#performer)
[497, 18] Parameters.parameter[1].part[2].resource/*Consent/consent-2*/.provision.action[0]: Information - Reference to draft CodeSystem http://terminology.hl7.org/CodeSystem/consentaction|1.0.0
[520, 18] Parameters.parameter[1].part[3].resource/*Coverage/AA87654*/.identifier[0].type: Warning - None of the codings provided are in the value set 'IdentifierType' (http://hl7.org/fhir/ValueSet/identifier-type|4.0.1), and a coding should come from this value set unless it has no suitable code (note that the validator cannot judge what is suitable) (codes = http://terminology.hl7.org/CodeSystem/v2-0203#MB)
[528, 78] Parameters.parameter[1].part[3].resource/*Coverage/AA87654*/.identifier[0].system: Error - Example URLs are not allowed in this context (http://example.org/new-payer/identifiers/coverage)
[534, 14] Parameters.parameter[1].part[3].resource/*Coverage/AA87654*/.beneficiary: Error - Unable to find a profile match for Patient/2 among choices: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics
[534, 14] Parameters.parameter[1].part[3].resource/*Coverage/AA87654*/.beneficiary: Information - Details for Patient/2 matching against profile http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-patient-demographics|1.1.0-ballot
Done. Times: Loading: 01:11.456, validation: 00:03.453. Max Memory = 15Gb FWIW - my actual validator code:
public class GroupParamValidator {
private final FhirValidator fhirValidator;
GroupParamValidator(FhirContext context) throws IOException {
var npmPackageSupport = new NpmPackageValidationSupport(context);
npmPackageSupport.loadPackageFromClasspath("hl7.fhir.us.davinci-pdex-2.1.0-ballot.tgz");
npmPackageSupport.loadPackageFromClasspath("hl7.fhir.us.davinci-hrex-1.1.0.tgz");
npmPackageSupport.loadPackageFromClasspath("hl7.fhir.us.core-7.0.0.tgz");
var supportChain = new ValidationSupportChain(
npmPackageSupport,
new DefaultProfileValidationSupport(context),
new InMemoryTerminologyServerValidationSupport(context),
new CommonCodeSystemsTerminologyService(context),
new SnapshotGeneratingValidationSupport(context));
context.setValidationSupport(supportChain);
var instanceValidator = new FhirInstanceValidator(context);
fhirValidator = context.newValidator();
fhirValidator.registerValidatorModule(instanceValidator);
}
ValidationResult validateGroupParam(Parameters groupParameters) {
return fhirValidator.validateWithResult(groupParameters);
}
}
Reports:
I'm not sure what the make of this tbh. Hope you can.
- Jan.
Op donderdag 29 mei 2025 om 18:36:38 UTC+2 schreef Jan Vissers: