Pipeline Parity

BabelFHIR-TS Report

A babelfish on TypeScript and FHIR

Validator parity across FHIR R4 & R5 Implementation Guides. Each profile is tested with empty() and random() resource generation, then validated against the HL7 Java Validator, the Firely SDK Validator, and BabelFHIR-TS internal validate() + Zod schemas.

Download Report JSON Markdown
Metric Definitions
View Docs
Empty Validation Parity (external)
Do internal and reference validator (Firely / HL7) report the same errors for empty() resources?
Random Validation Parity (external)
Do internal and reference validator report the same errors for random() resources?
Random Generation Validation + Parity (external)
Do random() resources pass reference validator validation with zero errors?
Empty Validation Parity (internal)
Do validate() and Zod schema agree on empty() resources?
Random Validation Parity (internal)
Do validate() and Zod schema agree on random() resources?
Random Generation Validation + Parity (internal)
Do random() resources pass internal validate() with zero errors?

Latest Release main v1.6.6

Empty Validation Parity 100% 642/642
Random Validation Parity 99% 684/690
Random Generation Validation + Parity 76% 526/690
Per-package breakdown (31 packages)
Package Empty Validation Parity Random Validation Parity Random Generation Validation + Parity
🇨🇭 CH Core 6.0.0 28/28 (100%) 29/29 (100%) 29/29 (100%)
🌍 IPS 2.0.1 27/27 (100%) 27/27 (100%) 27/27 (100%)
🇩🇪 ISiK Basis 4.0.3 ⚠️ 17/17 (100%) 17/17 (100%) 17/17 (100%)
📦 Isik Medikation 4.0.3 ⚠️ 4/4 (100%) 4/4 (100%) 4/4 (100%)
🔐 SMART 2.2.0 6/6 (100%) 6/6 (100%) 6/6 (100%)
🇺🇸 US Core 9.0.0 ⚠️ 41/41 (100%) 54/54 (100%) 54/54 (100%)
📦 Cpg 2.0.0 ⚠️ 96/96 (100%) 98/98 (100%) 93/98 (95%)
📦 Genomics Reporting 3.0.0 17/17 (100%) 17/17 (100%) 16/17 (94%)
📦 Sdoh 2.3.0 20/20 (100%) 20/20 (100%) 18/20 (90%)
📦 Qicore 7.0.2 65/65 (100%) 65/65 (100%) 58/65 (89%)
📦 Physical Activity 1.0.0 16/16 (100%) 16/16 (100%) 14/16 (88%)
📦 Mcode 4.0.0 37/37 (100%) 38/38 (100%) 31/38 (82%)
📦 Au Core 2.0.0 ⚠️ 13/13 (100%) 20/20 (100%) 16/20 (80%)
📦 Davinci Pdex 2.1.0 13/13 (100%) 13/13 (100%) 10/13 (77%)
📦 Ndh 1.0.0 31/31 (100%) 31/31 (100%) 23/31 (74%)
📦 Emedicinal Product 1.0.0 15/15 (100%) 15/15 (100%) 11/15 (73%)
📦 Davinci Pas 2.2.1 29/29 (100%) 29/29 (100%) 20/29 (69%)
📦 Davinci Drug Formulary 2.1.0 8/8 (100%) 8/8 (100%) 5/8 (63%)
📦 Sdc 4.0.0 34/34 (100%) 34/34 (100%) 20/34 (59%)
📦 Cqfmeasures 5.0.0 ⚠️ 12/12 (100%) 12/12 (100%) 6/12 (50%)
📦 Davinci Deqm 5.0.0 11/11 (100%) 11/11 (100%) 5/11 (45%)
📦 De Basisprofil 1.6.0 9/9 (100%) 19/19 (100%) 8/19 (42%)
📦 Carin Bb 2.2.0 16/16 (100%) 16/16 (100%) 6/16 (38%)
📦 Pixm 3.1.0 11/11 (100%) 11/11 (100%) 4/11 (36%)
📦 Mhd 4.2.4 31/31 (100%) 31/31 (100%) 11/31 (35%)
📦 Davinci Cdex 2.1.0 7/7 (100%) 7/7 (100%) 2/7 (29%)
📦 Davinci Dtr 2.2.0 14/14 (100%) 14/14 (100%) 2/14 (14%)
📦 Davinci Alerts 1.1.0 8/8 (100%) 8/8 (100%) 1/8 (13%)
📦 Ae Research 1.0.1 1/1 (100%) 1/1 (100%) 0/1 (0%)
📦 Kbv Erp 1.4.4 ⚠️ 4/4 (100%) 4/4 (100%) 0/4 (0%)
📦 Vitals 1.0.0 1/1 (100%) 9/15 (60%) 9/15 (60%)
Empty Validation Parity 88% 609/690
Random Validation Parity 90% 623/689
Random Generation Validation + Parity 63% 436/689
Per-package breakdown (31 packages)
Package Empty Validation Parity Random Validation Parity Random Generation Validation + Parity
📦 Isik Medikation 4.0.3 8/8 (100%) 8/8 (100%) 8/8 (100%)
🔐 SMART 2.2.0 6/6 (100%) 6/6 (100%) 6/6 (100%)
🇺🇸 US Core 9.0.0 55/55 (100%) 55/55 (100%) 55/55 (100%)
📦 Genomics Reporting 3.0.0 17/17 (100%) 17/17 (100%) 16/17 (94%)
📦 Pixm 3.1.0 11/11 (100%) 11/11 (100%) 4/11 (36%)
📦 Ae Research 1.0.1 1/1 (100%) 1/1 (100%) 0/1 (0%)
📦 Cpg 2.0.0 99/99 (100%) 96/99 (97%) 76/99 (77%)
🇨🇭 CH Core 6.0.0 29/29 (100%) 27/29 (93%) 22/29 (76%)
📦 Davinci Deqm 5.0.0 11/11 (100%) 10/11 (91%) 5/11 (45%)
📦 Davinci Drug Formulary 2.1.0 ⚠️ 7/7 (100%) 6/7 (86%) 5/7 (71%)
📦 Cqfmeasures 5.0.0 13/13 (100%) 11/13 (85%) 6/13 (46%)
📦 De Basisprofil 1.6.0 19/19 (100%) 14/19 (74%) 8/19 (42%)
📦 Emedicinal Product 1.0.0 15/15 (100%) 11/15 (73%) 12/15 (80%)
📦 Davinci Alerts 1.1.0 ⚠️ 3/3 (100%) 2/3 (67%) 1/3 (33%)
📦 Kbv Erp 1.4.4 8/8 (100%) 2/8 (25%) 0/8 (0%)
📦 Mhd 4.2.4 30/31 (97%) 26/31 (84%) 10/31 (32%)
📦 Au Core 2.0.0 ⚠️ 21/22 (95%) 22/22 (100%) 16/22 (73%)
📦 Qicore 7.0.2 62/65 (95%) 53/65 (82%) 41/65 (63%)
📦 Davinci Pdex 2.1.0 ⚠️ 11/12 (92%) 11/11 (100%) 10/11 (91%)
🌍 IPS 2.0.1 24/27 (89%) 26/27 (96%) 23/27 (85%)
📦 Davinci Cdex 2.1.0 6/7 (86%) 5/7 (71%) 1/7 (14%)
📦 Ndh 1.0.0 26/31 (84%) 31/31 (100%) 21/31 (68%)
📦 Carin Bb 2.2.0 ⚠️ 5/6 (83%) 6/6 (100%) 5/6 (83%)
📦 Mcode 4.0.0 ⚠️ 30/36 (83%) 35/36 (97%) 27/36 (75%)
🇩🇪 ISiK Basis 4.0.3 ⚠️ 22/27 (81%) 27/27 (100%) 22/27 (81%)
📦 Davinci Pas 2.2.1 ⚠️ 20/26 (77%) 23/26 (88%) 13/26 (50%)
📦 Physical Activity 1.0.0 ⚠️ 11/15 (73%) 13/15 (87%) 11/15 (73%)
📦 Davinci Dtr 2.2.0 10/14 (71%) 9/14 (64%) 1/14 (7%)
📦 Sdoh 2.3.0 13/20 (65%) 19/20 (95%) 3/20 (15%)
📦 Sdc 4.0.0 15/34 (44%) 26/34 (76%) 7/34 (21%)
📦 Vitals 1.0.0 1/15 (7%) 14/15 (93%) 1/15 (7%)
Empty Validation Parity 97% 1549/1598
Random Validation Parity 82% 1315/1598
Random Generation Validation + Parity 78% 1253/1598
Per-package breakdown (31 packages)
Package Empty Validation Parity Random Validation Parity Random Generation Validation + Parity
📦 Ae Research 1.0.1 5/5 (100%) 5/5 (100%) 3/5 (60%)
🌍 IPS 2.0.1 38/38 (100%) 37/38 (97%) 37/38 (97%)
📦 Vitals 1.0.0 24/24 (100%) 23/24 (96%) 23/24 (96%)
🇺🇸 US Core 9.0.0 82/82 (100%) 78/82 (95%) 77/82 (94%)
📦 Qicore 7.0.2 86/86 (100%) 82/86 (95%) 74/86 (86%)
🔐 SMART 2.2.0 9/9 (100%) 8/9 (89%) 8/9 (89%)
📦 Mcode 4.0.0 71/71 (100%) 61/71 (86%) 59/71 (83%)
📦 Davinci Pdex 2.1.0 59/59 (100%) 49/59 (83%) 47/59 (80%)
📦 Davinci Dtr 2.2.0 96/96 (100%) 75/96 (78%) 64/96 (67%)
📦 Genomics Reporting 3.0.0 48/48 (100%) 37/48 (77%) 47/48 (98%)
📦 Au Core 2.0.0 60/60 (100%) 45/60 (75%) 40/60 (67%)
📦 De Basisprofil 1.6.0 85/85 (100%) 63/85 (74%) 63/85 (74%)
📦 Davinci Alerts 1.1.0 10/10 (100%) 6/10 (60%) 2/10 (20%)
📦 Pixm 3.1.0 15/15 (100%) 8/15 (53%) 8/15 (53%)
📦 Mhd 4.2.4 39/39 (100%) 17/39 (44%) 17/39 (44%)
🇨🇭 CH Core 6.0.0 87/88 (99%) 83/88 (94%) 83/88 (94%)
📦 Cpg 2.0.0 130/132 (98%) 126/132 (95%) 122/132 (92%)
🇩🇪 ISiK Basis 4.0.3 62/63 (98%) 59/63 (94%) 58/63 (92%)
📦 Sdc 4.0.0 157/160 (98%) 132/160 (83%) 119/160 (74%)
📦 Davinci Drug Formulary 2.1.0 20/21 (95%) 18/21 (86%) 13/21 (62%)
📦 Davinci Pas 2.2.1 92/97 (95%) 59/97 (61%) 51/97 (53%)
📦 Carin Bb 2.2.0 21/22 (95%) 10/22 (45%) 10/22 (45%)
📦 Isik Medikation 4.0.3 15/16 (94%) 15/16 (94%) 15/16 (94%)
📦 Davinci Deqm 5.0.0 32/34 (94%) 26/34 (76%) 23/34 (68%)
📦 Emedicinal Product 1.0.0 14/15 (93%) 12/15 (80%) 11/15 (73%)
📦 Ndh 1.0.0 79/88 (90%) 79/88 (90%) 79/88 (90%)
📦 Physical Activity 1.0.0 17/19 (89%) 17/19 (89%) 17/19 (89%)
📦 Sdoh 2.3.0 22/25 (88%) 21/25 (84%) 22/25 (88%)
📦 Davinci Cdex 2.1.0 13/15 (87%) 9/15 (60%) 8/15 (53%)
📦 Cqfmeasures 5.0.0 37/44 (84%) 34/44 (77%) 32/44 (73%)
📦 Kbv Erp 1.4.4 24/32 (75%) 21/32 (66%) 21/32 (66%)
⚠️ Unsupported FHIRPath Constraints (43)

FHIRPath constraints from StructureDefinitions that could not be translated into Zod runtime validators.

#PackageConstraint
1au-coreif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
2carin-bbCare Team Rendering physician's qualifications are from Healthcare Provider Taxonomy Value Set
3carin-bbIf Adjudication is present
4carin-bbit must have at least one adjudicationamounttype slice
5carin-bbInstitutional EOB: Should have adjudication with adjudicationamounttype slice at the item or header level
6carin-bbbut not both
7carin-bbInstitutional EOB: Careteam roles refer to a practitioner
8carin-bbPharmacy EOB: Careteam roles refer to a practitioner
9carin-bbPharmacy EOB: Careteam roles refer to an organization
10carin-bbProfessional EOB: Careteam roles refer to a practitioner
11carin-bbProfessional EOB: SupportingInfo repetitions with with transportation category code must be referred to by one or more repetitions of item.informationSequence
12cpgCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
13cpgif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
14davinci-cdexDate must be to day.
15davinci-drug-formularyAll drugs with RxNorm Term Type of Semantic Clinical Drug (SCD) or Semantic Branded Drug (SBD) SHALL have a coding repetition and RxNorm Term Type of Semantic Clinical Drug Group (SCDG) or Semantic Branded Drug Group (SBDG) respectively
16davinci-pasDates need to be a full date - YYYY-MM-DD
17davinci-pasIf reason.coding is present and is not from the extensible value set
18davinci-pasthen reason.text must be present
19davinci-pdexonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
20de-basisprofilErgebnis muss eine durch 10 teilbare Zahl sein
21de-basisprofilIf Observation.effective[x] has a value then that value shall be precise to the day
22emedicinal-productRouteOfAdministration cannot be used when the 'formOf' product already uses MedicinalProductDefinition.route (and vice versa)
23ipsDatetime must be at least to day.
24kbv-erpEine Ressource vom Typ Practitioner wird als verantwortliche Person angegeben
25kbv-erpdiese darf aber nur angegeben werden
26kbv-erpwenn es sich bei der ausstellenden Person um einen Arzt in Weiterbildung oder Arzt als Vertreter handelt.
27kbv-erpEine Ressource vom Typ Practitioner wird als verantwortliche Person angegeben
28kbv-erpdiese darf aber nur angegeben werden
29kbv-erpwenn es sich nicht um eine Hebamme oder einen Arzt in Weiterbildung handelt.
30kbv-erpEs wird keine Ressource vom Typ Practitioner als verantwortliche Person angegeben
31kbv-erpdies ist aber eine Pflichtangabe
32kbv-erpwenn es sich bei der ausstellenden oder verschreibenden Person um einen Arzt in Weiterbildung ohne Identifikator handelt.
33kbv-erpIn der Ressource vom Typ Practitioner ist der Identifikator der ausstellenden oder verschreibenden Person nicht vorhanden
34kbv-erpdieser ist aber eine Pflichtangabe bei den Kostentraegern der Typen "GKV"
35kbv-erp"BG"
36kbv-erp"SKT"
37kbv-erp"UK" oder "PKV"
38kbv-erpwenn es sich um einen Arzt
39kbv-erpZahnarzt oder Arzt als Vertreter handelt und keine ASV-Fachgruppennummer angegeben ist.
40kbv-erpIn der Ressource vom Typ Practitioner ist der Identifikator der verantwortlichen Person nicht vorhanden
41kbv-erpdieser ist aber eine Pflichtangabe bei den Kostentraegern der Typen "GKV"
42kbv-erp"BG"
43kbv-erp"SKT" oder "UK"
44kbv-erpwenn es sich um einen Arzt
45kbv-erpZahnarzt oder Arzt als Vertreter handelt und keine ASV-Fachgruppennummer angegeben ist.
46kbv-erpIn einer Ressource vom Typ Organization ist kein Identifikator der Einrichtung (z.B. Betriebsstaettennummer) vorhanden
47kbv-erpdiese ist aber eine Pflichtangabe bei den Kostentraegern der Typen "GKV"
48kbv-erp"PKV"
49kbv-erp"BG"
50kbv-erp"SKT" oder "UK"
51kbv-erpwenn es sich bei der austellenden/verschreibenden Person um einen Arzt
52kbv-erpZahnarzt
53kbv-erpArzt in Weiterbildung oder Arzt als Vertreter handelt.
54kbv-erpIn einer Ressource vom Typ Practitioner ist eine ASV-Fachgruppennummer der ausstellenden Person vorhanden
55kbv-erpdiese darf aber nur angegeben werden
56kbv-erpwenn die Rechtsgrundlage den Wert "01" oder "11" besitzt und wenn es sich um einen Arzt oder Arzt als Vertreter handelt
57kbv-erpfür den kein Identifikator angegeben ist.
58kbv-erpIn einer Ressource vom Typ Practitioner ist eine ASV-Fachgruppennummer der verantwortlichen Person vorhanden
59kbv-erpdiese darf aber nur angegeben werden
60kbv-erpwenn die Rechtsgrundlage den Wert "01" oder "11" besitzt und wenn es sich um einen Arzt oder Arzt als Vertreter handelt
61kbv-erpfür den kein Identifikator angegeben ist.
62kbv-erpWenn es sich um ein T-Rezept handelt
63kbv-erpdarf die ausstellende / verschreibende Person kein Zahnarzt und keine Hebamme sein.
64mcodeDatetime must be at least to day.
65mcodeif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
66ndhCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
67qicoreCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
68qicoreDatetime must be at least to day.
69sdcEither code is 'fulfill'
70sdcfocus is ServiceRequest and no 'questionnaire' input; or code is 'complete-questionnaire'
71sdcfocus is omitted and 'questionnaire' input is present
72sdohAt least one Condition.category SHALL be encounter-diagnosis
73sdohproblem-list-item
74sdohor health-concern
75sdohDatetime must be at least to day.
76sdohIf Task.code is "review-material"
77sdohthen Task.focus of DocumentReference is required.
78us-coreCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
79us-coreDatetime must be at least to day.
80us-coreif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
81us-coreonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
82vitalsif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
⏱ Validation Timing — 3196 resources: validate() 24.9s, Zod 4.36s, HL7 4246.63s, Firely 1603.91s
Package Resources Val Total Val Avg Zod TotalZod Avg HL7 TotalHL7 Avg Firely TotalFirely Avg
ae-research 10 0.08s 7.9ms 0.01s1.2ms 46.63s23316ms 32.76s16380.5ms
au-core 120 0.96s 8ms 0.17s1.4ms 94.59s1891.9ms 24.12s482.4ms
carin-bb 44 1.68s 38.1ms 0.28s6.5ms 136.68s4271.1ms 55.03s1719.7ms
ch-core 176 1.04s 5.9ms 0.17s1ms 117.49s2025.7ms 42.41s731.2ms
cpg 264 1.05s 4ms 0.46s1.7ms 191.01s964.7ms 50.5s255ms
cqfmeasures 88 0.59s 6.7ms 0.09s1ms 82.83s3185.8ms 21.61s831ms
davinci-alerts 20 0.18s 8.8ms 0.05s2.6ms 149.83s9364.4ms 73.38s4586.1ms
davinci-cdex 30 0.18s 6.1ms 0.07s2.2ms 157.78s11269.8ms 67.67s4833.9ms
davinci-deqm 68 0.58s 8.5ms 0.08s1.2ms 136.34s6197.5ms 75.22s3418.9ms
davinci-drug-formulary 42 0.49s 11.7ms 0.07s1.6ms 182.87s11429.1ms 52.62s3288.7ms
davinci-dtr 192 1.05s 5.5ms 0.08s0.4ms 362.05s12930.3ms 83.89s2995.9ms
davinci-pas 194 1.66s 8.5ms 0.25s1.3ms 317.4s5472.4ms 80.19s1382.5ms
davinci-pdex 118 0.38s 3.2ms 0.1s0.8ms 454.85s17494ms 95.77s3683.3ms
de-basisprofil 170 1.09s 6.4ms 0.15s0.9ms 61.15s1609.2ms 36.78s967.8ms
emedicinal-product 30 0.21s 6.9ms 0.11s3.5ms 39.82s1327.2ms 23.87s795.6ms
genomics-reporting 96 0.38s 4ms 0.11s1.2ms 88.57s2605ms 16.18s475.9ms
ips 76 0.28s 3.7ms 0.11s1.5ms 62.02s1148.4ms 32.11s594.7ms
isik-basis 126 2.52s 20ms 0.14s1.1ms 56.2s1003.5ms 44.24s790ms
isik-medikation 32 1.51s 47.2ms 0.04s1.1ms 40.07s2504.3ms 43.86s2741.2ms
kbv-erp 64 0.99s 15.4ms 0.05s0.7ms 73.58s4598.9ms 31.49s1967.9ms
mcode 142 0.61s 4.3ms 0.17s1.2ms 127.33s1675.4ms 57.31s754.1ms
mhd 78 0.83s 10.7ms 0.19s2.4ms 161.14s2599ms 40.2s648.5ms
ndh 176 0.6s 3.4ms 0.18s1ms 168.43s2716.6ms 58.33s940.9ms
physical-activity 38 0.49s 12.8ms 0.1s2.5ms 83.55s2611ms 81.41s2544.2ms
pixm 30 0.19s 6.3ms 0.08s2.6ms 64.32s2923.6ms 37.94s1724.7ms
qicore 172 0.9s 5.2ms 0.29s1.7ms 241.13s1854.8ms 67.58s519.9ms
sdc 320 1.51s 4.7ms 0.2s0.6ms 105.94s1557.9ms 59.57s876.1ms
sdoh 50 0.4s 8ms 0.07s1.5ms 131.41s3285.2ms 74.26s1856.4ms
smart 18 0.73s 40.7ms 0.05s2.9ms 59.08s4922.9ms 16.86s1405.3ms
us-core 164 1.45s 8.8ms 0.32s1.9ms 198.79s1807.2ms 81.83s743.9ms
vitals 48 0.29s 6.1ms 0.12s2.5ms 53.75s1791.5ms 44.92s1497.3ms
⏱ Generation Timing — 31 packages: 1027.1s total
Package Extract Init Resolve Generate Compile Repack Total
ae-research 0.04s 4.7s 4.9s 0.06s 2s 0.06s 12.3s
au-core 0.1s 5.3s 11.5s 1.3s 8.5s 0.35s 29.2s
carin-bb 0.13s 6.2s 17.3s 3.9s 13.1s 0.38s 42.4s
ch-core 0.14s 3.7s 5.1s 0.96s 9.3s 0.42s 23.7s
cpg 0.39s 4.5s 2.7s 1.7s 20.4s 0.85s 32.2s
cqfmeasures 0.12s 6.1s 6.3s 1.4s 4.9s 0.3s 19.3s
davinci-alerts 0.04s 5.8s 17.2s 1.1s 4.6s 0.19s 29.8s
davinci-cdex 0.07s 4.2s 33.9s 0.47s 4.5s 0.2s 44.3s
davinci-deqm 0.14s 4.9s 20.5s 1.6s 5.5s 0.28s 33.5s
davinci-drug-formulary 0.1s 5.4s 19.2s 1.9s 5.2s 0.3s 32.8s
davinci-dtr 0.06s 4.2s 41.2s 1.1s 5.7s 0.24s 52.9s
davinci-pas 0.16s 4.3s 48.8s 6.6s 12.8s 0.49s 77s
davinci-pdex 0.12s 6s 50.6s 1.8s 7.8s 0.35s 67.7s
de-basisprofil 0.12s 5.8s 0.82s 0.73s 8.9s 0.39s 17.8s
emedicinal-product 0.06s 4.2s 2.3s 1.4s 5.4s 0.18s 15.2s
genomics-reporting 0.2s 5.6s 3.5s 0.5s 7.5s 0.37s 19.8s
ips 0.09s 5.7s 6.5s 1.3s 6.3s 0.28s 22.5s
isik-basis 0.08s 7.1s 4.7s 0.43s 7.3s 0.28s 20.7s
isik-medikation 0.04s 5.9s 4.1s 96.9s 3.5s 0.17s 111.1s
kbv-erp 0.02s 4.9s 6s 0.66s 3.5s 0.13s 15.6s
mcode 0.19s 4.4s 11.3s 2.4s 9.6s 0.46s 30s
mhd 0.13s 5.6s 5.8s 0.67s 7.8s 0.34s 21s
ndh 0.2s 4.1s 16.9s 1.7s 8.7s 0.44s 32.4s
physical-activity 0.13s 4.4s 16.6s 1.1s 6.4s 0.27s 29.8s
pixm 0.05s 4.3s 3.2s 0.72s 4.5s 0.19s 15.3s
qicore 0.13s 4.6s 9.3s 6.4s 12.4s 0.43s 36.3s
sdc 0.17s 3.7s 9.1s 2s 11.8s 0.5s 28s
sdoh 0.08s 4.3s 15s 2.3s 4.8s 0.21s 27.7s
smart 0.04s 6.7s 8.5s 0.67s 4.1s 0.17s 20.7s
us-core 0.31s 5.9s 20.7s 1.8s 16.7s 0.73s 51.1s
vitals 0.08s 5.2s 2.1s 0.73s 6.2s 0.25s 15s
⚠️ Excluded Profiles — 52 exclusions both: 3 hl7: 24 firely: 25

Profiles excluded from parity statistics due to external issues (validator bugs, profile defects, or terminology limitations). BabelFHIR-TS generates valid resources for all of these.

Exclusion Patterns

PatternCountAffected Validator(s)
Element ordering (parser bug) 21 21 firely
Discriminator evaluation failure 16 15 hl7 1 firely
Bundled context required 5 5 firely
Terminology server limitation 4 4 hl7
Missing snapshot 4 4 hl7
Cross-profile validation 2 2 hl7
Failed to parse validator output 2 1 hl7 1 firely
SNOMED edition mismatch 1 1 hl7

Excluded Profiles

#IGProfileValidatorCategoryScopeError
1 📦 au-core AUCoreMedicationClass both Firely: Element ordering (parser bug)
HL7: Terminology server limitation
empty-parity, random-parity, random-validation Firely: Firely parser ordering bug: coding vs text
HL7: tx.fhir.org: Australian ValueSet filter not understood
2 📦 au-core AUCoreMedicationRequestClass both Firely: Element ordering (parser bug)
HL7: Terminology server limitation
empty-parity, random-parity, random-validation Firely: Firely parser ordering bug: coding vs text
HL7: tx.fhir.org: Australian ValueSet filter not understood
3 🇩🇪 ISiK Basis ISiKProzedurClass both Firely: Element ordering (parser bug)
HL7: Discriminator evaluation failure
empty-parity, random-parity, random-validation Firely: Firely parser ordering bug: coding vs text
HL7: HL7 slicing: unable to resolve profile CodingOPS
4 📦 au-core AUCoreConditionClass hl7 Terminology server limitation empty-parity, random-parity, random-validation tx.fhir.org: Australian ValueSet filter not understood
5 📦 au-core AUCoreImmunizationClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
6 📦 au-core AUCoreProcedureClass hl7 Terminology server limitation empty-parity, random-parity, random-validation tx.fhir.org: Australian ValueSet filter not understood
7 📦 au-core AUCoreSmokingStatusClass hl7 SNOMED edition mismatch empty-parity, random-parity, random-validation SNOMED AU code not in International Edition
8 📦 carin-bb C4BBExplanationOfBenefitInpatientInstitutionalBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
9 📦 carin-bb C4BBExplanationOfBenefitInpatientInstitutionalClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
10 📦 carin-bb C4BBExplanationOfBenefitOralBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
11 📦 carin-bb C4BBExplanationOfBenefitOralClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
12 📦 carin-bb C4BBExplanationOfBenefitOutpatientInstitutionalBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
13 📦 carin-bb C4BBExplanationOfBenefitOutpatientInstitutionalClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
14 📦 carin-bb C4BBExplanationOfBenefitPharmacyBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
15 📦 carin-bb C4BBExplanationOfBenefitPharmacyClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
16 📦 carin-bb C4BBExplanationOfBenefitProfessionalNonClinicianBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
17 📦 carin-bb C4BBExplanationOfBenefitProfessionalNonClinicianClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
18 📦 cpg CHFBodyWeightClass hl7 Cross-profile validation empty-parity, random-parity, random-validation HL7 bp
19 📦 cqfmeasures CQFMPublishableMeasureClass hl7 Failed to parse validator output empty-parity, random-parity, random-validation HL7 validator crashes — unparseable output
20 📦 davinci-alerts AdmitNotificationMessageHeaderClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
21 📦 davinci-alerts ADTNotificationCoverageProfileClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
22 📦 davinci-alerts ADTNotificationEncounterProfileClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
23 📦 davinci-alerts DischargeNotificationMessageHeaderClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
24 📦 davinci-alerts NotificationsMessageHeaderClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
25 📦 davinci-drug-formulary FormularyDrugClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
26 📦 DaVinci PAS PASDeviceRequestClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
27 📦 DaVinci PAS PASEncounterClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
28 📦 DaVinci PAS PASTaskClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
29 📦 davinci-pdex PdexMedicationDispenseClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
30 📦 davinci-pdex PDexMultiMemberMatchRequestParametersClass firely Discriminator evaluation failure random-parity, random-validation Profile bug: hrex-consent policy:hrex slice uses 'value' discriminator without fixed/pattern
31 🇩🇪 ISiK Basis ISiKAbrechnungsfallClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-abrechnungsnummer
32 🇩🇪 ISiK Basis ISiKAllergieUnvertraeglichkeitClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile CodingASK
33 🇩🇪 ISiK Basis ISiKAngehoerigerClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile address-de-basis
34 🇩🇪 ISiK Basis ISiKDiagnoseClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile ISiKDiagnose
35 🇩🇪 ISiK Basis ISiKOrganisationClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-iknr
36 🇩🇪 ISiK Basis ISiKOrganisationFachabteilungClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-iknr
37 🇩🇪 ISiK Basis ISiKPatientClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-kvid-10
38 🇩🇪 ISiK Basis ISiKPersonImGesundheitsberufClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-lanr
39 🇩🇪 ISiK Basis ISiKVersicherungsverhaeltnisGesetzlichClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile ISiKVersicherungsverhaeltnisGesetzlich
40 🇩🇪 ISiK Basis ISiKVersicherungsverhaeltnisSelbstzahlerClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile ISiKVersicherungsverhaeltnisSelbstzahler
41 📦 isik-medikation ISiKMedikamentClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
42 📦 isik-medikation ISiKMedikationsInformationClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
43 📦 isik-medikation ISiKMedikationsVerabreichungClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
44 📦 isik-medikation ISiKMedikationsVerordnungClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
45 📦 kbv-erp KBVPRERPBundleClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile KBV_PR_ERP_Bundle
46 📦 kbv-erp KBVPRERPMedicationFreeTextClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile KBV_EX_Base_Medication_Type
47 📦 kbv-erp KBVPRERPMedicationIngredientClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile KBV_EX_Base_Medication_Type
48 📦 kbv-erp KBVPRERPPrescriptionClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile KBV_EX_FOR_StatusCoPayment
49 📦 mcode GenomicVariantClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: version vs display
50 📦 mcode LymphomaStageClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
51 📦 physical-activity PACarePlanClass firely Failed to parse validator output empty-parity, random-parity, random-validation Firely SDK internal XML parsing error on generated JSON resource
52 🇺🇸 US Core USCoreVitalSignsProfileClass hl7 Cross-profile validation empty-parity, random-parity, random-validation HL7 bp
🔧 Excluded Fields — 86 field-level exclusions

Specific fields excluded from parity comparison because validators report them incorrectly. The profile still passes, but these fields are tolerated.

#IGProfileValidatorField(s)CategoryScopeReason
1 au-core AUCorePathologyResultClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
2 au-core AUCoreBloodPressureClass firely component Discriminator evaluation failure random-parity Firely cannot use a coding sliced to more than one choice as a discriminator, so it abandons the schema and reports none of the four required slices we report
3 au-core AUCorePatientClass firely country, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
4 au-core AUCorePractitionerClass firely country, type, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
5 au-core AUCorePractitionerRoleClass firely type, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
6 au-core AUCoreRelatedPersonClass firely country, type, system, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
7 carin-bb C4BBPatientClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
8 cpg CHFBodyWeightClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
9 cpg CHFO2SatClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
10 cpg CHFPotassiumClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
11 cpg CPGCommunicationRequestClass firely modifierextension Validation model difference empty-parity Firely reports min=0 mustSupport slice modifierExtension:intent as a required slice; the SD sets min=0 max=1
12 cqfmeasures CQFMRatioMeasureClass firely population, unclassified Validation model difference random-parity Firely aborts at the first structure it cannot parse, so it never evaluates the further findings we report on the same resource
13 cqfmeasures CQFMContinuousVariableMeasureClass firely population, unclassified Validation model difference random-parity Firely aborts at the first structure it cannot parse, so it never evaluates the further findings we report on the same resource
14 davinci-cdex CDexTaskAttachmentRequestClass firely code, constraint, contained, resourceType, reference Validation model difference random-parity Firely aborts at the first structure it cannot parse, so it never evaluates the further findings we report on the same resource
15 davinci-pas PASMedicationRequestClass firely authoredon Empty parity field miss empty-parity Firely misses profile-level min=1 on authoredon
16 davinci-pas PASBeneficiaryClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
17 davinci-pas PASSubscriberClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
18 de-basisprofil VitalSignDEKoerpergroesseClass firely coding Discriminator evaluation failure random-parity Firely $this discriminator limitation: reports coding:loinc slice error despite correct LOINC code present
19 isik-basis ISiKKontaktGesundheitseinrichtungClass firely unclassified Empty parity field miss empty-parity Firely fires `implies` FHIRPath constraints on empty Encounter; per spec, empty antecedent = not applicable
20 kbv-erp KBVPRERPBundleClass firely pattern Validation model difference empty-parity Both validators report the meta.profile fixed-value mismatch; Firely anchors it to no element so it classifies as `pattern` while ours classifies as `meta`
21 mcode ALLRiskAssessmentClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
22 mcode BodySurfaceAreaClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
23 mcode CancerRiskAssessmentClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
24 mcode CancerStageClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
25 mcode ComorbiditiesClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
26 mcode ECOGPerformanceStatusClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
27 mcode GenomicRegionStudiedClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
28 mcode HistologicBehaviorAndTypeClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
29 mcode HistologicGradeClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
30 mcode HistoryOfMetastaticCancerClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
31 mcode KarnofskyPerformanceStatusClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
32 mcode LanskyPlayPerformanceStatusClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
33 mcode RhabdomyosarcomaRiskAssessmentClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
34 mcode TumorMarkerTestClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
35 mcode TumorMorphologyClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
36 mcode TNMCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
37 mcode TNMDistantMetastasesCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
38 mcode TNMPrimaryTumorCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
39 mcode TNMRegionalNodesCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
40 qicore QICoreNonPatientObservationClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
41 qicore QICorePatientClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
42 sdoh SDOHCCObservationPersonalCharacteristicClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
43 sdoh SDOHCCObservationEthnicityOMBClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
44 sdoh SDOHCCObservationGenderIdentityClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
45 sdoh SDOHCCObservationPersonalPronounsClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
46 sdoh SDOHCCObservationRaceOMBClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
47 sdoh SDOHCCObservationSexualOrientationClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
48 au-core AUCorePatientClass hl7 country Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
49 au-core AUCorePractitionerClass hl7 country, type, unclassified Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
50 au-core AUCorePractitionerRoleClass hl7 type Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
51 au-core AUCoreRelatedPersonClass hl7 country, type, system, unclassified Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
52 au-core AUCoreMedicationStatementClass hl7 unclassified Terminology server limitation random-parity tx.fhir.org: Australian ValueSet filter not understood
53 cqfmeasures CQFMRatioMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
54 cqfmeasures CQFMContinuousVariableMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
55 cqfmeasures CQFMCohortMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
56 cqfmeasures CQFMProportionMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
57 davinci-dtr DTRQuestionnaireResponseClass hl7 code SNOMED edition mismatch random-parity HL7 tx.fhir.org resolves CRD CodeSystem/temp to 2.2.0-ballot which lacks code "withpa"; DTR 2.1.0 package includes it in local ValueSet-DocReason — cross-package version mismatch on terminology server
58 davinci-pdex PDexMultiMemberMatchRequestParametersClass hl7 constraint Validation model difference random-parity HL7 rejects example.org URLs in Consent.policy.uri via built-in rule (not a FHIRPath constraint in the SD)
59 de-basisprofil VitalSignDEClass hl7 constraint Discriminator evaluation failure random-parity HL7 $this discriminator limitation: "Could not match discriminator ($this) for slice Observation.code.coding:loinc/snomed" — HL7 cannot evaluate $this pattern discriminator without fixed value or binding assertions
60 de-basisprofil VitalSignDEArterielleSauerstoffsaettigungPulsoximetrieClass hl7 coding Discriminator evaluation failure random-parity HL7 $this discriminator limitation: undercounts coding:loinc slice matches (reports min=2 found=1 despite 3 LOINC codings present) due to faulty $this pattern evaluation inherited from base VitalSignDE profile
61 de-basisprofil VitalSignDEArterielleSauerstoffsaettigungPulsoximetrieClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
62 de-basisprofil VitalSignDEAtemfrequenzClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
63 de-basisprofil VitalSignDEHerzfrequenzClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
64 de-basisprofil VitalSignDEKoerperkerntemperaturClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
65 de-basisprofil VitalSignDEArterielleSauerstoffsaettigungClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
66 mhd ProvideDocumentBundleResponseClass hl7 unclassified Bundled context required random-parity bdl-8 FHIRPath empty propagation: fullUrl.contains(/_history/).not() yields empty when fullUrl absent; fhirpath.js all() returns false, HL7 returns true
67 mhd ComprehensiveDocumentReferenceClass hl7 constraint, code Bundled context required random-parity Standalone validation of bundled-context profile: HL7 reports unresolvable reference for context.sourcePatientInfo; HL7 terminology server rejects DICOM codes not in loaded CodeSystem (non-deterministic)
68 mhd UnContainedComprehensiveDocumentReferenceClass hl7 code Bundled context required random-parity HL7 terminology server rejects DICOM ontology codes not in loaded CodeSystem (non-deterministic depending on random code generation)
69 mhd ComprehensiveProvideDocumentBundleClass hl7 constraint, entry, pattern Validation model difference random-parity Bundle entry slice validation model difference: our validator matches entries by resourceType and delegates to sub-profile validators (catching code+extension errors), while HL7 uses conformsTo-based matching and reports entry-level slice rejection + pattern mismatch. Both detect the same underlying issues (wrong code, missing extensions) but organize errors across different field categories.
70 mhd MinimalProvideDocumentBundleClass hl7 constraint, entry, pattern Validation model difference random-parity Bundle entry slice validation model difference: our validator matches entries by resourceType and delegates to sub-profile validators (catching code+extension errors), while HL7 uses conformsTo-based matching and reports entry-level slice rejection + pattern mismatch. Both detect the same underlying issues (wrong code, missing extensions) but organize errors across different field categories.
71 mhd UnContainedComprehensiveProvideDocumentBundleClass hl7 constraint, entry, pattern Validation model difference random-parity Bundle entry slice validation model difference: our validator matches entries by resourceType and delegates to sub-profile validators (catching code+extension errors), while HL7 uses conformsTo-based matching and reports entry-level slice rejection + pattern mismatch. Both detect the same underlying issues (wrong code, missing extensions) but organize errors across different field categories.
72 mhd AuditFindDocumentReferencesConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
73 mhd AuditFindDocumentReferencesResponderClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
74 mhd AuditFindDocumentListsConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
75 mhd AuditFindDocumentListsResponderClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
76 mhd AuditRetrieveDocumentConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
77 mhd AuditRetrieveDocumentResponderClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
78 pixm AuditPixmFeedManagerUpdateClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
79 pixm AuditPixmFeedSourceUpdateClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
80 pixm AuditPixmQueryConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
81 pixm AuditPixmQueryManagerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
82 qicore QICoreImmunizationNotDoneClass hl7 code Bundled context required random-parity HL7 validates fixedCode "not-done" against sibling qicore-immunization ValueSet (qicore-non-negative-immunization-status) which excludes it; the profile's own binding (immunization-status) includes it
83 sdc SDCQuestionnaireExtractTemplateClass hl7 extension Empty parity field miss empty-parity HL7 misses inherited min=1 on Questionnaire.url (tightened by sdc-questionnaire)
84 sdoh SDOHCCConditionClass hl7 category Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match category:screening-assessment slice from a binding-only discriminator (no fixed/pattern)
85 sdoh SDOHCCObservationAssessmentClass hl7 category Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match category:us-core slice from a binding-only discriminator (no fixed/pattern)
86 sdoh SDOHCCObservationScreeningResponseClass hl7 category Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match category:screening-assessment slice from a binding-only discriminator (no fixed/pattern)

Pre-release develop v1.6.6-dev.20260814200728.74cb9d1dc

Trend Chart (50 runs)
HL7FirelyInternal
70% 80% 90% 100% 7/30 8/14 8/5 7/31 8/5 30 pkgs 29 pkgs 30 pkgs 28 pkgs 30 pkgs 29 pkgs 30 pkgs 31 pkgs 27 pkgs 31 pkgs HL7 6.10.0 HL7 6.10.1 · Firely 3.3.1 HL7 6.10.2 v1.3.9 v1.3.10 v1.4.0 v1.4.1 v1.4.2 v1.4.3 v1.5.0 v1.5.1 v1.5.2 v1.5.3 v1.5.4 v1.5.5 v1.5.6 v1.5.7 v1.5.8 v1.5.9 v1.5.10 v1.5.11 v1.5.12 v1.5.13 v1.5.14 v1.5.15 v1.5.16 v1.5.17 v1.5.18 v1.5.19 v1.5.20 v1.5.21 v1.6.0 v1.6.1 v1.6.2 v1.6.3 v1.6.4 v1.6.5 v1.6.6

Average overall % across empty parity, random parity & random validation per pipeline run (50 runs)

Empty Validation Parity 100% 642/642
Random Validation Parity 99% 684/690
Random Generation Validation + Parity 76% 526/690
Per-package breakdown (31 packages)
Package Empty Validation Parity Random Validation Parity Random Generation Validation + Parity
📦 Vitals 1.0.0 1/1 (100%) 9/15 (60%) 9/15 (60%)
📦 Ae Research 1.0.1 1/1 (100%) 1/1 (100%) 0/1 (0%)
📦 Kbv Erp 1.4.4 ⚠️ 4/4 (100%) 4/4 (100%) 0/4 (0%)
📦 Davinci Alerts 1.1.0 8/8 (100%) 8/8 (100%) 1/8 (13%)
📦 Davinci Dtr 2.2.0 14/14 (100%) 14/14 (100%) 2/14 (14%)
📦 Davinci Cdex 2.1.0 7/7 (100%) 7/7 (100%) 2/7 (29%)
📦 Mhd 4.2.4 31/31 (100%) 31/31 (100%) 11/31 (35%)
📦 Pixm 3.1.0 11/11 (100%) 11/11 (100%) 4/11 (36%)
📦 Carin Bb 2.2.0 16/16 (100%) 16/16 (100%) 6/16 (38%)
📦 De Basisprofil 1.6.0 9/9 (100%) 19/19 (100%) 8/19 (42%)
📦 Davinci Deqm 5.0.0 11/11 (100%) 11/11 (100%) 5/11 (45%)
📦 Cqfmeasures 5.0.0 ⚠️ 12/12 (100%) 12/12 (100%) 6/12 (50%)
📦 Sdc 4.0.0 34/34 (100%) 34/34 (100%) 20/34 (59%)
📦 Davinci Drug Formulary 2.1.0 8/8 (100%) 8/8 (100%) 5/8 (63%)
📦 Davinci Pas 2.2.1 29/29 (100%) 29/29 (100%) 20/29 (69%)
📦 Emedicinal Product 1.0.0 15/15 (100%) 15/15 (100%) 11/15 (73%)
📦 Ndh 1.0.0 31/31 (100%) 31/31 (100%) 23/31 (74%)
📦 Davinci Pdex 2.1.0 13/13 (100%) 13/13 (100%) 10/13 (77%)
📦 Au Core 2.0.0 ⚠️ 13/13 (100%) 20/20 (100%) 16/20 (80%)
📦 Mcode 4.0.0 37/37 (100%) 38/38 (100%) 31/38 (82%)
📦 Physical Activity 1.0.0 16/16 (100%) 16/16 (100%) 14/16 (88%)
📦 Qicore 7.0.2 65/65 (100%) 65/65 (100%) 58/65 (89%)
📦 Sdoh 2.3.0 20/20 (100%) 20/20 (100%) 18/20 (90%)
📦 Genomics Reporting 3.0.0 17/17 (100%) 17/17 (100%) 16/17 (94%)
📦 Cpg 2.0.0 ⚠️ 96/96 (100%) 98/98 (100%) 93/98 (95%)
🇨🇭 CH Core 6.0.0 28/28 (100%) 29/29 (100%) 29/29 (100%)
🌍 IPS 2.0.1 27/27 (100%) 27/27 (100%) 27/27 (100%)
🇩🇪 ISiK Basis 4.0.3 ⚠️ 17/17 (100%) 17/17 (100%) 17/17 (100%)
📦 Isik Medikation 4.0.3 ⚠️ 4/4 (100%) 4/4 (100%) 4/4 (100%)
🔐 SMART 2.2.0 6/6 (100%) 6/6 (100%) 6/6 (100%)
🇺🇸 US Core 9.0.0 ⚠️ 41/41 (100%) 54/54 (100%) 54/54 (100%)
Empty Validation Parity 87% 603/690
Random Validation Parity 90% 621/690
Random Generation Validation + Parity 60% 411/690
Per-package breakdown (31 packages)
Package Empty Validation Parity Random Validation Parity Random Generation Validation + Parity
📦 Vitals 1.0.0 1/15 (7%) 14/15 (93%) 1/15 (7%)
📦 Sdc 4.0.0 15/34 (44%) 23/34 (68%) 5/34 (15%)
📦 Sdoh 2.3.0 13/20 (65%) 19/20 (95%) 3/20 (15%)
📦 Davinci Dtr 2.2.0 10/14 (71%) 12/14 (86%) 2/14 (14%)
📦 Physical Activity 1.0.0 ⚠️ 11/15 (73%) 13/15 (87%) 11/15 (73%)
📦 Davinci Pas 2.2.1 ⚠️ 20/26 (77%) 23/26 (88%) 13/26 (50%)
🇩🇪 ISiK Basis 4.0.3 ⚠️ 22/27 (81%) 27/27 (100%) 22/27 (81%)
📦 Pixm 3.1.0 9/11 (82%) 11/11 (100%) 4/11 (36%)
📦 Mcode 4.0.0 ⚠️ 30/36 (83%) 34/36 (94%) 6/36 (17%)
📦 Carin Bb 2.2.0 ⚠️ 5/6 (83%) 6/6 (100%) 5/6 (83%)
📦 Mhd 4.2.4 26/31 (84%) 26/31 (84%) 10/31 (32%)
📦 Ndh 1.0.0 26/31 (84%) 31/31 (100%) 19/31 (61%)
📦 Davinci Cdex 2.1.0 6/7 (86%) 5/7 (71%) 1/7 (14%)
🌍 IPS 2.0.1 24/27 (89%) 26/27 (96%) 24/27 (89%)
📦 Davinci Pdex 2.1.0 ⚠️ 11/12 (92%) 11/12 (92%) 9/12 (75%)
📦 Qicore 7.0.2 62/65 (95%) 53/65 (82%) 41/65 (63%)
📦 Au Core 2.0.0 ⚠️ 21/22 (95%) 22/22 (100%) 16/22 (73%)
📦 Kbv Erp 1.4.4 8/8 (100%) 2/8 (25%) 0/8 (0%)
📦 Davinci Alerts 1.1.0 ⚠️ 3/3 (100%) 2/3 (67%) 1/3 (33%)
📦 Emedicinal Product 1.0.0 15/15 (100%) 10/15 (67%) 11/15 (73%)
📦 De Basisprofil 1.6.0 19/19 (100%) 14/19 (74%) 8/19 (42%)
📦 Cqfmeasures 5.0.0 13/13 (100%) 11/13 (85%) 6/13 (46%)
📦 Davinci Drug Formulary 2.1.0 ⚠️ 7/7 (100%) 6/7 (86%) 5/7 (71%)
📦 Davinci Deqm 5.0.0 11/11 (100%) 10/11 (91%) 5/11 (45%)
🇨🇭 CH Core 6.0.0 29/29 (100%) 27/29 (93%) 22/29 (76%)
📦 Cpg 2.0.0 99/99 (100%) 96/99 (97%) 76/99 (77%)
📦 Ae Research 1.0.1 1/1 (100%) 1/1 (100%) 0/1 (0%)
📦 Genomics Reporting 3.0.0 17/17 (100%) 17/17 (100%) 16/17 (94%)
📦 Isik Medikation 4.0.3 8/8 (100%) 8/8 (100%) 8/8 (100%)
🔐 SMART 2.2.0 6/6 (100%) 6/6 (100%) 6/6 (100%)
🇺🇸 US Core 9.0.0 55/55 (100%) 55/55 (100%) 55/55 (100%)
Empty Validation Parity 97% 1549/1598
Random Validation Parity 82% 1315/1598
Random Generation Validation + Parity 78% 1253/1598
Per-package breakdown (31 packages)
Package Empty Validation Parity Random Validation Parity Random Generation Validation + Parity
📦 Kbv Erp 1.4.4 24/32 (75%) 21/32 (66%) 21/32 (66%)
📦 Cqfmeasures 5.0.0 37/44 (84%) 34/44 (77%) 32/44 (73%)
📦 Davinci Cdex 2.1.0 13/15 (87%) 9/15 (60%) 8/15 (53%)
📦 Sdoh 2.3.0 22/25 (88%) 21/25 (84%) 22/25 (88%)
📦 Physical Activity 1.0.0 17/19 (89%) 17/19 (89%) 17/19 (89%)
📦 Ndh 1.0.0 79/88 (90%) 79/88 (90%) 79/88 (90%)
📦 Emedicinal Product 1.0.0 14/15 (93%) 12/15 (80%) 11/15 (73%)
📦 Davinci Deqm 5.0.0 32/34 (94%) 26/34 (76%) 23/34 (68%)
📦 Isik Medikation 4.0.3 15/16 (94%) 15/16 (94%) 15/16 (94%)
📦 Carin Bb 2.2.0 21/22 (95%) 10/22 (45%) 10/22 (45%)
📦 Davinci Pas 2.2.1 92/97 (95%) 59/97 (61%) 51/97 (53%)
📦 Davinci Drug Formulary 2.1.0 20/21 (95%) 18/21 (86%) 13/21 (62%)
📦 Sdc 4.0.0 157/160 (98%) 132/160 (83%) 119/160 (74%)
🇩🇪 ISiK Basis 4.0.3 62/63 (98%) 59/63 (94%) 58/63 (92%)
📦 Cpg 2.0.0 130/132 (98%) 126/132 (95%) 122/132 (92%)
🇨🇭 CH Core 6.0.0 87/88 (99%) 83/88 (94%) 83/88 (94%)
📦 Mhd 4.2.4 39/39 (100%) 17/39 (44%) 17/39 (44%)
📦 Pixm 3.1.0 15/15 (100%) 8/15 (53%) 8/15 (53%)
📦 Davinci Alerts 1.1.0 10/10 (100%) 6/10 (60%) 2/10 (20%)
📦 De Basisprofil 1.6.0 85/85 (100%) 63/85 (74%) 63/85 (74%)
📦 Au Core 2.0.0 60/60 (100%) 45/60 (75%) 40/60 (67%)
📦 Genomics Reporting 3.0.0 48/48 (100%) 37/48 (77%) 47/48 (98%)
📦 Davinci Dtr 2.2.0 96/96 (100%) 75/96 (78%) 64/96 (67%)
📦 Davinci Pdex 2.1.0 59/59 (100%) 49/59 (83%) 47/59 (80%)
📦 Mcode 4.0.0 71/71 (100%) 61/71 (86%) 59/71 (83%)
🔐 SMART 2.2.0 9/9 (100%) 8/9 (89%) 8/9 (89%)
📦 Qicore 7.0.2 86/86 (100%) 82/86 (95%) 74/86 (86%)
🇺🇸 US Core 9.0.0 82/82 (100%) 78/82 (95%) 77/82 (94%)
📦 Vitals 1.0.0 24/24 (100%) 23/24 (96%) 23/24 (96%)
🌍 IPS 2.0.1 38/38 (100%) 37/38 (97%) 37/38 (97%)
📦 Ae Research 1.0.1 5/5 (100%) 5/5 (100%) 3/5 (60%)
⚠️ Unsupported FHIRPath Constraints (43)

FHIRPath constraints from StructureDefinitions that could not be translated into Zod runtime validators.

#PackageConstraint
1au-coreif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
2carin-bbCare Team Rendering physician's qualifications are from Healthcare Provider Taxonomy Value Set
3carin-bbIf Adjudication is present
4carin-bbit must have at least one adjudicationamounttype slice
5carin-bbInstitutional EOB: Should have adjudication with adjudicationamounttype slice at the item or header level
6carin-bbbut not both
7carin-bbInstitutional EOB: Careteam roles refer to a practitioner
8carin-bbPharmacy EOB: Careteam roles refer to a practitioner
9carin-bbPharmacy EOB: Careteam roles refer to an organization
10carin-bbProfessional EOB: Careteam roles refer to a practitioner
11carin-bbProfessional EOB: SupportingInfo repetitions with with transportation category code must be referred to by one or more repetitions of item.informationSequence
12cpgCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
13cpgif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
14davinci-cdexDate must be to day.
15davinci-drug-formularyAll drugs with RxNorm Term Type of Semantic Clinical Drug (SCD) or Semantic Branded Drug (SBD) SHALL have a coding repetition and RxNorm Term Type of Semantic Clinical Drug Group (SCDG) or Semantic Branded Drug Group (SBDG) respectively
16davinci-pasDates need to be a full date - YYYY-MM-DD
17davinci-pasIf reason.coding is present and is not from the extensible value set
18davinci-pasthen reason.text must be present
19davinci-pdexonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
20de-basisprofilErgebnis muss eine durch 10 teilbare Zahl sein
21de-basisprofilIf Observation.effective[x] has a value then that value shall be precise to the day
22emedicinal-productRouteOfAdministration cannot be used when the 'formOf' product already uses MedicinalProductDefinition.route (and vice versa)
23ipsDatetime must be at least to day.
24kbv-erpEine Ressource vom Typ Practitioner wird als verantwortliche Person angegeben
25kbv-erpdiese darf aber nur angegeben werden
26kbv-erpwenn es sich bei der ausstellenden Person um einen Arzt in Weiterbildung oder Arzt als Vertreter handelt.
27kbv-erpEine Ressource vom Typ Practitioner wird als verantwortliche Person angegeben
28kbv-erpdiese darf aber nur angegeben werden
29kbv-erpwenn es sich nicht um eine Hebamme oder einen Arzt in Weiterbildung handelt.
30kbv-erpEs wird keine Ressource vom Typ Practitioner als verantwortliche Person angegeben
31kbv-erpdies ist aber eine Pflichtangabe
32kbv-erpwenn es sich bei der ausstellenden oder verschreibenden Person um einen Arzt in Weiterbildung ohne Identifikator handelt.
33kbv-erpIn der Ressource vom Typ Practitioner ist der Identifikator der ausstellenden oder verschreibenden Person nicht vorhanden
34kbv-erpdieser ist aber eine Pflichtangabe bei den Kostentraegern der Typen "GKV"
35kbv-erp"BG"
36kbv-erp"SKT"
37kbv-erp"UK" oder "PKV"
38kbv-erpwenn es sich um einen Arzt
39kbv-erpZahnarzt oder Arzt als Vertreter handelt und keine ASV-Fachgruppennummer angegeben ist.
40kbv-erpIn der Ressource vom Typ Practitioner ist der Identifikator der verantwortlichen Person nicht vorhanden
41kbv-erpdieser ist aber eine Pflichtangabe bei den Kostentraegern der Typen "GKV"
42kbv-erp"BG"
43kbv-erp"SKT" oder "UK"
44kbv-erpwenn es sich um einen Arzt
45kbv-erpZahnarzt oder Arzt als Vertreter handelt und keine ASV-Fachgruppennummer angegeben ist.
46kbv-erpIn einer Ressource vom Typ Organization ist kein Identifikator der Einrichtung (z.B. Betriebsstaettennummer) vorhanden
47kbv-erpdiese ist aber eine Pflichtangabe bei den Kostentraegern der Typen "GKV"
48kbv-erp"PKV"
49kbv-erp"BG"
50kbv-erp"SKT" oder "UK"
51kbv-erpwenn es sich bei der austellenden/verschreibenden Person um einen Arzt
52kbv-erpZahnarzt
53kbv-erpArzt in Weiterbildung oder Arzt als Vertreter handelt.
54kbv-erpIn einer Ressource vom Typ Practitioner ist eine ASV-Fachgruppennummer der ausstellenden Person vorhanden
55kbv-erpdiese darf aber nur angegeben werden
56kbv-erpwenn die Rechtsgrundlage den Wert "01" oder "11" besitzt und wenn es sich um einen Arzt oder Arzt als Vertreter handelt
57kbv-erpfür den kein Identifikator angegeben ist.
58kbv-erpIn einer Ressource vom Typ Practitioner ist eine ASV-Fachgruppennummer der verantwortlichen Person vorhanden
59kbv-erpdiese darf aber nur angegeben werden
60kbv-erpwenn die Rechtsgrundlage den Wert "01" oder "11" besitzt und wenn es sich um einen Arzt oder Arzt als Vertreter handelt
61kbv-erpfür den kein Identifikator angegeben ist.
62kbv-erpWenn es sich um ein T-Rezept handelt
63kbv-erpdarf die ausstellende / verschreibende Person kein Zahnarzt und keine Hebamme sein.
64mcodeDatetime must be at least to day.
65mcodeif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
66ndhCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
67qicoreCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
68qicoreDatetime must be at least to day.
69sdcEither code is 'fulfill'
70sdcfocus is ServiceRequest and no 'questionnaire' input; or code is 'complete-questionnaire'
71sdcfocus is omitted and 'questionnaire' input is present
72sdohAt least one Condition.category SHALL be encounter-diagnosis
73sdohproblem-list-item
74sdohor health-concern
75sdohDatetime must be at least to day.
76sdohIf Task.code is "review-material"
77sdohthen Task.focus of DocumentReference is required.
78us-coreCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
79us-coreDatetime must be at least to day.
80us-coreif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
81us-coreonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
82vitalsif Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
⏱ Validation Timing — 3196 resources: validate() 22.58s, Zod 4.12s, HL7 3233.42s, Firely 1503.88s
Package Resources Val Total Val Avg Zod TotalZod Avg HL7 TotalHL7 Avg Firely TotalFirely Avg
ae-research 10 0.1s 9.5ms 0.02s2.1ms 33.85s16926ms 21.79s10895.5ms
au-core 120 0.82s 6.8ms 0.13s1ms 66.58s1331.6ms 22.29s445.8ms
carin-bb 44 1.53s 34.8ms 0.17s4ms 102.53s3204.2ms 47.5s1484.4ms
ch-core 176 1.05s 6ms 0.15s0.9ms 74.31s1281.1ms 40.16s692.4ms
cpg 264 1.05s 4ms 0.49s1.9ms 166.66s841.7ms 53.39s269.6ms
cqfmeasures 88 0.77s 8.8ms 0.13s1.5ms 50.6s1946.3ms 21.55s828.8ms
davinci-alerts 20 0.12s 6.2ms 0.03s1.7ms 83.7s5231.1ms 67.5s4218.9ms
davinci-cdex 30 0.14s 4.6ms 0.05s1.7ms 88.2s6299.9ms 74.71s5336.4ms
davinci-deqm 68 0.33s 4.9ms 0.05s0.8ms 107.45s4884.3ms 81.49s3704.1ms
davinci-drug-formulary 42 0.34s 8.2ms 0.05s1.2ms 108.33s6770.8ms 53.26s3328.8ms
davinci-dtr 192 0.97s 5.1ms 0.13s0.7ms 184.96s6605.8ms 76.34s2726.5ms
davinci-pas 194 2.41s 12.4ms 0.22s1.1ms 262.92s4533.1ms 75.75s1306.1ms
davinci-pdex 118 0.4s 3.4ms 0.1s0.9ms 377.9s14534.5ms 100.55s3867.3ms
de-basisprofil 170 0.91s 5.4ms 0.13s0.7ms 38.52s1013.8ms 27.49s723.4ms
emedicinal-product 30 0.24s 7.9ms 0.11s3.6ms 34.38s1145.9ms 15.74s524.7ms
genomics-reporting 96 0.33s 3.4ms 0.1s1ms 57.37s1687.4ms 15.22s447.7ms
ips 76 0.4s 5.2ms 0.16s2.1ms 37.72s698.4ms 33.83s626.4ms
isik-basis 126 1.26s 10ms 0.13s1ms 40.31s719.8ms 31.29s558.8ms
isik-medikation 32 1.37s 42.9ms 0.03s0.9ms 30.98s1936.3ms 15.25s952.9ms
kbv-erp 64 0.69s 10.9ms 0.06s1ms 52.55s3284.7ms 33.69s2105.3ms
mcode 142 0.65s 4.6ms 0.18s1.3ms 73.99s973.5ms 56.95s749.3ms
mhd 78 0.83s 10.7ms 0.16s2ms 132.29s2133.6ms 43.54s702.3ms
ndh 176 0.69s 3.9ms 0.21s1.2ms 139.06s2242.8ms 61.87s997.8ms
physical-activity 38 0.49s 12.8ms 0.11s2.9ms 53.39s1668.5ms 67.27s2102.3ms
pixm 30 0.21s 6.9ms 0.08s2.8ms 53.69s2440.4ms 35.51s1614.2ms
qicore 172 0.82s 4.8ms 0.27s1.6ms 326.73s2513.3ms 73.03s561.8ms
sdc 320 1.32s 4.1ms 0.15s0.5ms 119.51s1757.5ms 59.34s872.7ms
sdoh 50 0.53s 10.5ms 0.12s2.5ms 94.88s2372ms 65.36s1634ms
smart 18 0.47s 26.1ms 0.04s2.5ms 48.04s4003.7ms 12.89s1074.3ms
us-core 164 1.15s 7ms 0.28s1.7ms 160.66s1460.5ms 78.26s711.5ms
vitals 48 0.19s 4ms 0.08s1.6ms 31.36s1045.2ms 41.07s1369ms
⏱ Generation Timing — 31 packages: 998.8s total
Package Extract Init Resolve Generate Compile Repack Total
ae-research 0.05s 4s 4.7s 2.8s 2.5s 0.08s 14.8s
au-core 0.08s 4.2s 8.4s 1.8s 6.6s 0.26s 23.3s
carin-bb 0.09s 4.6s 13.7s 3.6s 9.2s 0.24s 32.2s
ch-core 0.11s 3.9s 4.7s 1s 8.9s 0.39s 20.6s
cpg 0.39s 5.4s 3.2s 1.9s 21s 0.86s 34.3s
cqfmeasures 0.16s 5.5s 8s 2.3s 6.7s 0.4s 23.6s
davinci-alerts 0.03s 5.3s 13.4s 1.9s 3.3s 0.14s 25.1s
davinci-cdex 0.06s 4.9s 35.3s 0.81s 3.4s 0.15s 45.2s
davinci-deqm 0.1s 4.2s 14.7s 1.4s 3.6s 0.18s 24.5s
davinci-drug-formulary 0.07s 4.6s 14.3s 1.3s 3.7s 0.23s 25.1s
davinci-dtr 0.07s 4.3s 47s 1.7s 7.6s 0.31s 61.5s
davinci-pas 0.16s 5.8s 50.6s 5.4s 12.2s 0.48s 76.1s
davinci-pdex 0.12s 5.7s 50.4s 2.1s 7.8s 0.35s 67.5s
de-basisprofil 0.1s 3.7s 0.66s 0.77s 8.4s 0.34s 14.6s
emedicinal-product 0.08s 5.1s 3.2s 3.7s 5.6s 0.18s 20.5s
genomics-reporting 0.17s 4.6s 2.7s 0.45s 7.2s 0.33s 16.2s
ips 0.12s 5.6s 6.9s 1.2s 7.7s 0.34s 23.2s
isik-basis 0.07s 4s 3s 0.42s 6.8s 0.24s 15.2s
isik-medikation 0.04s 5.3s 4.1s 101.9s 2.9s 0.12s 114.8s
kbv-erp 0.03s 3.9s 6.5s 0.53s 4.6s 0.17s 16.2s
mcode 0.19s 3.9s 11s 1.8s 9.8s 0.51s 28.5s
mhd 0.12s 4s 4.4s 0.63s 7.5s 0.32s 19.4s
ndh 0.25s 5.8s 18.7s 3.3s 9.9s 0.54s 39.3s
physical-activity 0.13s 4.4s 15.9s 0.95s 6.5s 0.31s 28.6s
pixm 0.06s 3.9s 3.1s 0.5s 4.6s 0.19s 12.8s
qicore 0.14s 3.6s 9.2s 5.4s 13.4s 0.54s 35.1s
sdc 0.13s 4.4s 8.9s 2.4s 9.2s 0.39s 26.9s
sdoh 0.1s 4.5s 19.8s 2.3s 7.3s 0.32s 35.3s
smart 0.04s 4.2s 6.2s 2.8s 3.7s 0.15s 17.3s
us-core 0.29s 5.2s 20.3s 2.3s 15.5s 0.7s 48.8s
vitals 0.05s 4.9s 1.8s 0.66s 4.5s 0.18s 12.3s
⚠️ Excluded Profiles — 51 exclusions both: 3 hl7: 24 firely: 24

Profiles excluded from parity statistics due to external issues (validator bugs, profile defects, or terminology limitations). BabelFHIR-TS generates valid resources for all of these.

Exclusion Patterns

PatternCountAffected Validator(s)
Element ordering (parser bug) 21 21 firely
Discriminator evaluation failure 15 15 hl7
Bundled context required 5 5 firely
Terminology server limitation 4 4 hl7
Missing snapshot 4 4 hl7
Cross-profile validation 2 2 hl7
Failed to parse validator output 2 1 hl7 1 firely
SNOMED edition mismatch 1 1 hl7

Excluded Profiles

#IGProfileValidatorCategoryScopeError
1 📦 au-core AUCoreMedicationClass both Firely: Element ordering (parser bug)
HL7: Terminology server limitation
empty-parity, random-parity, random-validation Firely: Firely parser ordering bug: coding vs text
HL7: tx.fhir.org: Australian ValueSet filter not understood
2 📦 au-core AUCoreMedicationRequestClass both Firely: Element ordering (parser bug)
HL7: Terminology server limitation
empty-parity, random-parity, random-validation Firely: Firely parser ordering bug: coding vs text
HL7: tx.fhir.org: Australian ValueSet filter not understood
3 🇩🇪 ISiK Basis ISiKProzedurClass both Firely: Element ordering (parser bug)
HL7: Discriminator evaluation failure
empty-parity, random-parity, random-validation Firely: Firely parser ordering bug: coding vs text
HL7: HL7 slicing: unable to resolve profile CodingOPS
4 📦 au-core AUCoreConditionClass hl7 Terminology server limitation empty-parity, random-parity, random-validation tx.fhir.org: Australian ValueSet filter not understood
5 📦 au-core AUCoreImmunizationClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
6 📦 au-core AUCoreProcedureClass hl7 Terminology server limitation empty-parity, random-parity, random-validation tx.fhir.org: Australian ValueSet filter not understood
7 📦 au-core AUCoreSmokingStatusClass hl7 SNOMED edition mismatch empty-parity, random-parity, random-validation SNOMED AU code not in International Edition
8 📦 carin-bb C4BBExplanationOfBenefitInpatientInstitutionalBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
9 📦 carin-bb C4BBExplanationOfBenefitInpatientInstitutionalClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
10 📦 carin-bb C4BBExplanationOfBenefitOralBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
11 📦 carin-bb C4BBExplanationOfBenefitOralClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
12 📦 carin-bb C4BBExplanationOfBenefitOutpatientInstitutionalBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
13 📦 carin-bb C4BBExplanationOfBenefitOutpatientInstitutionalClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
14 📦 carin-bb C4BBExplanationOfBenefitPharmacyBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
15 📦 carin-bb C4BBExplanationOfBenefitPharmacyClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
16 📦 carin-bb C4BBExplanationOfBenefitProfessionalNonClinicianBasisClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
17 📦 carin-bb C4BBExplanationOfBenefitProfessionalNonClinicianClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
18 📦 cpg CHFBodyWeightClass hl7 Cross-profile validation empty-parity, random-parity, random-validation HL7 bp
19 📦 cqfmeasures CQFMPublishableMeasureClass hl7 Failed to parse validator output empty-parity, random-parity, random-validation HL7 validator crashes — unparseable output
20 📦 davinci-alerts AdmitNotificationMessageHeaderClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
21 📦 davinci-alerts ADTNotificationCoverageProfileClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
22 📦 davinci-alerts ADTNotificationEncounterProfileClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
23 📦 davinci-alerts DischargeNotificationMessageHeaderClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
24 📦 davinci-alerts NotificationsMessageHeaderClass firely Bundled context required empty-parity, random-parity, random-validation Profile requires aggregation: bundled; standalone parity not meaningful
25 📦 davinci-drug-formulary FormularyDrugClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
26 📦 DaVinci PAS PASDeviceRequestClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
27 📦 DaVinci PAS PASEncounterClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
28 📦 DaVinci PAS PASTaskClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
29 📦 davinci-pdex PdexMedicationDispenseClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
30 🇩🇪 ISiK Basis ISiKAbrechnungsfallClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-abrechnungsnummer
31 🇩🇪 ISiK Basis ISiKAllergieUnvertraeglichkeitClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile CodingASK
32 🇩🇪 ISiK Basis ISiKAngehoerigerClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile address-de-basis
33 🇩🇪 ISiK Basis ISiKDiagnoseClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile ISiKDiagnose
34 🇩🇪 ISiK Basis ISiKOrganisationClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-iknr
35 🇩🇪 ISiK Basis ISiKOrganisationFachabteilungClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-iknr
36 🇩🇪 ISiK Basis ISiKPatientClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-kvid-10
37 🇩🇪 ISiK Basis ISiKPersonImGesundheitsberufClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile identifier-lanr
38 🇩🇪 ISiK Basis ISiKVersicherungsverhaeltnisGesetzlichClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile ISiKVersicherungsverhaeltnisGesetzlich
39 🇩🇪 ISiK Basis ISiKVersicherungsverhaeltnisSelbstzahlerClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile ISiKVersicherungsverhaeltnisSelbstzahler
40 📦 isik-medikation ISiKMedikamentClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
41 📦 isik-medikation ISiKMedikationsInformationClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
42 📦 isik-medikation ISiKMedikationsVerabreichungClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
43 📦 isik-medikation ISiKMedikationsVerordnungClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile ISiKPZNCoding
44 📦 kbv-erp KBVPRERPBundleClass hl7 Missing snapshot empty-parity, random-parity, random-validation Profile KBV_PR_ERP_Bundle
45 📦 kbv-erp KBVPRERPMedicationFreeTextClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile KBV_EX_Base_Medication_Type
46 📦 kbv-erp KBVPRERPMedicationIngredientClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile KBV_EX_Base_Medication_Type
47 📦 kbv-erp KBVPRERPPrescriptionClass hl7 Discriminator evaluation failure empty-parity, random-parity, random-validation HL7 slicing: unable to resolve profile KBV_EX_FOR_StatusCoPayment
48 📦 mcode GenomicVariantClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: version vs display
49 📦 mcode LymphomaStageClass firely Element ordering (parser bug) empty-parity, random-parity, random-validation Firely parser ordering bug: coding vs text
50 📦 physical-activity PACarePlanClass firely Failed to parse validator output empty-parity, random-parity, random-validation Firely SDK internal XML parsing error on generated JSON resource
51 🇺🇸 US Core USCoreVitalSignsProfileClass hl7 Cross-profile validation empty-parity, random-parity, random-validation HL7 bp
🔧 Excluded Fields — 86 field-level exclusions

Specific fields excluded from parity comparison because validators report them incorrectly. The profile still passes, but these fields are tolerated.

#IGProfileValidatorField(s)CategoryScopeReason
1 au-core AUCorePathologyResultClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
2 au-core AUCoreBloodPressureClass firely component Discriminator evaluation failure random-parity Firely cannot use a coding sliced to more than one choice as a discriminator, so it abandons the schema and reports none of the four required slices we report
3 au-core AUCorePatientClass firely country, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
4 au-core AUCorePractitionerClass firely country, type, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
5 au-core AUCorePractitionerRoleClass firely type, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
6 au-core AUCoreRelatedPersonClass firely country, type, system, pattern, unclassified Discriminator evaluation failure random-parity Firely validates against an identifier slice whose discriminator the instance does not satisfy, and omits the fixed country and system we report
7 carin-bb C4BBPatientClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
8 cpg CHFBodyWeightClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
9 cpg CHFO2SatClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
10 cpg CHFPotassiumClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
11 cpg CPGCommunicationRequestClass firely modifierextension Validation model difference empty-parity Firely reports min=0 mustSupport slice modifierExtension:intent as a required slice; the SD sets min=0 max=1
12 cqfmeasures CQFMRatioMeasureClass firely population, unclassified Validation model difference random-parity Firely aborts at the first structure it cannot parse, so it never evaluates the further findings we report on the same resource
13 cqfmeasures CQFMContinuousVariableMeasureClass firely population, unclassified Validation model difference random-parity Firely aborts at the first structure it cannot parse, so it never evaluates the further findings we report on the same resource
14 davinci-cdex CDexTaskAttachmentRequestClass firely code, constraint, contained, resourceType, reference Validation model difference random-parity Firely aborts at the first structure it cannot parse, so it never evaluates the further findings we report on the same resource
15 davinci-pas PASMedicationRequestClass firely authoredon Empty parity field miss empty-parity Firely misses profile-level min=1 on authoredon
16 davinci-pas PASBeneficiaryClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
17 davinci-pas PASSubscriberClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
18 de-basisprofil VitalSignDEKoerpergroesseClass firely coding Discriminator evaluation failure random-parity Firely $this discriminator limitation: reports coding:loinc slice error despite correct LOINC code present
19 isik-basis ISiKKontaktGesundheitseinrichtungClass firely unclassified Empty parity field miss empty-parity Firely fires `implies` FHIRPath constraints on empty Encounter; per spec, empty antecedent = not applicable
20 kbv-erp KBVPRERPBundleClass firely pattern Validation model difference empty-parity Both validators report the meta.profile fixed-value mismatch; Firely anchors it to no element so it classifies as `pattern` while ours classifies as `meta`
21 mcode ALLRiskAssessmentClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
22 mcode BodySurfaceAreaClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
23 mcode CancerRiskAssessmentClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
24 mcode CancerStageClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
25 mcode ComorbiditiesClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
26 mcode ECOGPerformanceStatusClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
27 mcode GenomicRegionStudiedClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
28 mcode HistologicBehaviorAndTypeClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
29 mcode HistologicGradeClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
30 mcode HistoryOfMetastaticCancerClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
31 mcode KarnofskyPerformanceStatusClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
32 mcode LanskyPlayPerformanceStatusClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
33 mcode RhabdomyosarcomaRiskAssessmentClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
34 mcode TumorMarkerTestClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
35 mcode TumorMorphologyClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
36 mcode TNMCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
37 mcode TNMDistantMetastasesCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
38 mcode TNMPrimaryTumorCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
39 mcode TNMRegionalNodesCategoryClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
40 qicore QICoreNonPatientObservationClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
41 qicore QICorePatientClass firely gender Empty parity field miss empty-parity Firely misses profile-level min=1 on gender (inherited from US Core)
42 sdoh SDOHCCObservationPersonalCharacteristicClass firely category, subject Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
43 sdoh SDOHCCObservationEthnicityOMBClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
44 sdoh SDOHCCObservationGenderIdentityClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
45 sdoh SDOHCCObservationPersonalPronounsClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
46 sdoh SDOHCCObservationRaceOMBClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
47 sdoh SDOHCCObservationSexualOrientationClass firely category, subject, method Empty parity field miss empty-parity Firely does not report this profile's own required elements on an empty resource; verified required in the StructureDefinition, by min=1 or by a subject.exists() invariant
48 au-core AUCorePatientClass hl7 country Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
49 au-core AUCorePractitionerClass hl7 country, type, unclassified Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
50 au-core AUCorePractitionerRoleClass hl7 type Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
51 au-core AUCoreRelatedPersonClass hl7 country, type, system, unclassified Validation model difference random-parity HL7 resolves au-address and au-base but does not report the fixed country, fixed identifier system or required type they pin
52 au-core AUCoreMedicationStatementClass hl7 unclassified Terminology server limitation random-parity tx.fhir.org: Australian ValueSet filter not understood
53 cqfmeasures CQFMRatioMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
54 cqfmeasures CQFMContinuousVariableMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
55 cqfmeasures CQFMCohortMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
56 cqfmeasures CQFMProportionMeasureClass hl7 population Empty parity field miss empty-parity HL7 misses slice-level min=1 for Measure.group.population
57 davinci-dtr DTRQuestionnaireResponseClass hl7 code SNOMED edition mismatch random-parity HL7 tx.fhir.org resolves CRD CodeSystem/temp to 2.2.0-ballot which lacks code "withpa"; DTR 2.1.0 package includes it in local ValueSet-DocReason — cross-package version mismatch on terminology server
58 davinci-pdex PDexMultiMemberMatchRequestParametersClass hl7 constraint Validation model difference random-parity HL7 rejects example.org URLs in Consent.policy.uri via built-in rule (not a FHIRPath constraint in the SD)
59 de-basisprofil VitalSignDEClass hl7 constraint Discriminator evaluation failure random-parity HL7 $this discriminator limitation: "Could not match discriminator ($this) for slice Observation.code.coding:loinc/snomed" — HL7 cannot evaluate $this pattern discriminator without fixed value or binding assertions
60 de-basisprofil VitalSignDEArterielleSauerstoffsaettigungPulsoximetrieClass hl7 coding Discriminator evaluation failure random-parity HL7 $this discriminator limitation: undercounts coding:loinc slice matches (reports min=2 found=1 despite 3 LOINC codings present) due to faulty $this pattern evaluation inherited from base VitalSignDE profile
61 de-basisprofil VitalSignDEArterielleSauerstoffsaettigungPulsoximetrieClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
62 de-basisprofil VitalSignDEAtemfrequenzClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
63 de-basisprofil VitalSignDEHerzfrequenzClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
64 de-basisprofil VitalSignDEKoerperkerntemperaturClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
65 de-basisprofil VitalSignDEArterielleSauerstoffsaettigungClass hl7 pattern Validation model difference random-parity HL7 reports one fixed-value violation twice, anchored to both profiles that pin the unit; we report it once
66 mhd ProvideDocumentBundleResponseClass hl7 unclassified Bundled context required random-parity bdl-8 FHIRPath empty propagation: fullUrl.contains(/_history/).not() yields empty when fullUrl absent; fhirpath.js all() returns false, HL7 returns true
67 mhd ComprehensiveDocumentReferenceClass hl7 constraint, code Bundled context required random-parity Standalone validation of bundled-context profile: HL7 reports unresolvable reference for context.sourcePatientInfo; HL7 terminology server rejects DICOM codes not in loaded CodeSystem (non-deterministic)
68 mhd UnContainedComprehensiveDocumentReferenceClass hl7 code Bundled context required random-parity HL7 terminology server rejects DICOM ontology codes not in loaded CodeSystem (non-deterministic depending on random code generation)
69 mhd ComprehensiveProvideDocumentBundleClass hl7 constraint, entry, pattern Validation model difference random-parity Bundle entry slice validation model difference: our validator matches entries by resourceType and delegates to sub-profile validators (catching code+extension errors), while HL7 uses conformsTo-based matching and reports entry-level slice rejection + pattern mismatch. Both detect the same underlying issues (wrong code, missing extensions) but organize errors across different field categories.
70 mhd MinimalProvideDocumentBundleClass hl7 constraint, entry, pattern Validation model difference random-parity Bundle entry slice validation model difference: our validator matches entries by resourceType and delegates to sub-profile validators (catching code+extension errors), while HL7 uses conformsTo-based matching and reports entry-level slice rejection + pattern mismatch. Both detect the same underlying issues (wrong code, missing extensions) but organize errors across different field categories.
71 mhd UnContainedComprehensiveProvideDocumentBundleClass hl7 constraint, entry, pattern Validation model difference random-parity Bundle entry slice validation model difference: our validator matches entries by resourceType and delegates to sub-profile validators (catching code+extension errors), while HL7 uses conformsTo-based matching and reports entry-level slice rejection + pattern mismatch. Both detect the same underlying issues (wrong code, missing extensions) but organize errors across different field categories.
72 mhd AuditFindDocumentReferencesConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
73 mhd AuditFindDocumentReferencesResponderClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
74 mhd AuditFindDocumentListsConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
75 mhd AuditFindDocumentListsResponderClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
76 mhd AuditRetrieveDocumentConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
77 mhd AuditRetrieveDocumentResponderClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
78 pixm AuditPixmFeedManagerUpdateClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
79 pixm AuditPixmFeedSourceUpdateClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
80 pixm AuditPixmQueryConsumerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
81 pixm AuditPixmQueryManagerClass hl7 subtype Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match subtype:anySearch slice from a binding-only discriminator (no fixed/pattern)
82 qicore QICoreImmunizationNotDoneClass hl7 code Bundled context required random-parity HL7 validates fixedCode "not-done" against sibling qicore-immunization ValueSet (qicore-non-negative-immunization-status) which excludes it; the profile's own binding (immunization-status) includes it
83 sdc SDCQuestionnaireExtractTemplateClass hl7 extension Empty parity field miss empty-parity HL7 misses inherited min=1 on Questionnaire.url (tightened by sdc-questionnaire)
84 sdoh SDOHCCConditionClass hl7 category Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match category:screening-assessment slice from a binding-only discriminator (no fixed/pattern)
85 sdoh SDOHCCObservationAssessmentClass hl7 category Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match category:us-core slice from a binding-only discriminator (no fixed/pattern)
86 sdoh SDOHCCObservationScreeningResponseClass hl7 category Discriminator evaluation failure random-parity HL7 $this discriminator limitation: cannot match category:screening-assessment slice from a binding-only discriminator (no fixed/pattern)