German extension constants.
All extension URLs and system URIs are exported from @polaris/fhir-de as constants. Never hardcode extension URLs in application code — import the constant and the value stays correct as the IG evolves.
IG-only policy
Constants come from the IG — not from polaris.
@polaris/fhir-de does not define its own FHIR StructureDefinitions. All extension URLs, identifier systems, and canonical URLs are generated from the official IGs published at fhir.cognovis.de/praxis/. Polaris only exports the constants — the IG defines the definitions.
// Correct: import the constant
import { EXT_ENCOUNTER, SID_BSNR, SYSTEM_ICD_10_GM } from '@polaris/fhir-de'
resource.extension.push({
url: EXT_ENCOUNTER.arrivalTime, // always current
valueDateTime: '2026-04-01T09:00:00+02:00',
})
// Wrong: hardcoding extension URLs breaks when the IG updates
resource.extension.push({
url: 'https://fhir.cognovis.de/praxis/StructureDefinition/arrival-time', // fragile
valueDateTime: '...',
}) Identifier and coding systems
BSNR, LANR, versichertenArt, GKV/PKV discriminators.
Identifier Systems
NamingSystem URIs for German healthcare identifiers. Use as the system value in FHIR identifier slices.
| Constant | Value | Description |
|---|---|---|
| SID_LANR | http://fhir.de/sid/kbv/lanr | Lebenslange Arztnummer (lifetime doctor number) |
| SID_BSNR | http://fhir.de/sid/dkgev/bsnr | Betriebsstättennummer (practice site number) |
| SYSTEM_KVID_10 | http://fhir.de/sid/gkv/kvid-10 | GKV statutory insurance patient identifier |
| SYSTEM_PKV_KVID | http://fhir.de/sid/pkv/kvid-10 | PKV private insurance patient identifier |
| SYSTEM_IK | http://fhir.de/sid/arge-ik/iknr | Institutionskennzeichen (institution identifier) |
| SYSTEM_ZANR | http://fhir.de/sid/kbv/zanr | Zahnarztnummer (dentist number) |
import { SID_LANR, SID_BSNR, SYSTEM_KVID_10 } from '@polaris/fhir-de' Coding Systems
CodeSystem URIs for German medical coding. Use as the system value in FHIR Coding elements.
| Constant | Value | Description |
|---|---|---|
| SYSTEM_ICD_10_GM | http://fhir.de/CodeSystem/bfarm/icd-10-gm | ICD-10-GM diagnosis codes (BfArM) |
| SYSTEM_EBM | http://fhir.de/CodeSystem/ebm | EBM GKV billing codes |
| SYSTEM_GOAE | http://fhir.de/CodeSystem/bäk/goä | GOÄ private billing codes (contains non-ASCII ä — official published URI) |
| SYSTEM_KBV_VERSICHERTENART | https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENART | KBV insurance type (versichertenArt): M=Mitglied, F=Familie, R=Rentner |
| SYSTEM_KBV_FACHGRUPPE | urn:oid:1.2.276.0.76.5.114 | KBV specialty group codes (Fachgruppe) |
import { SYSTEM_ICD_10_GM, SYSTEM_EBM, SYSTEM_GOAE } from '@polaris/fhir-de' Extension groups
MIRA-specific extension constants.
Each extension group is a typed as const object. The keys are human-readable names; the values are the canonical IG URLs.
EXT_ENCOUNTER
Encounter Extensions
source: de.cognovis.fhir.praxis
| Key | URL | Description |
|---|---|---|
| arrivalTime | https://fhir.cognovis.de/praxis/StructureDefinition/arrival-time | Patient arrival timestamp at the practice |
| encounterCalled | https://fhir.cognovis.de/praxis/StructureDefinition/encounter-called | Timestamp when patient was called from waiting room |
| createdAt | https://fhir.cognovis.de/praxis/StructureDefinition/encounter-created-at | Encounter creation timestamp |
| abrechnungsquartal | https://fhir.cognovis.de/praxis/StructureDefinition/abrechnungsquartal | Billing quarter, e.g. "12026" |
import { EXT_ENCOUNTER } from '@polaris/fhir-de'
// Use as extension URL
resource.extension ??= []
resource.extension.push({
url: EXT_ENCOUNTER.arrivalTime,
valueDateTime: someValue,
}) EXT_CONDITION
Condition Extensions
source: de.cognovis.fhir.praxis
| Key | URL | Description |
|---|---|---|
| dauerdiagnose | https://fhir.cognovis.de/praxis/StructureDefinition/dauerdiagnose | Chronic/permanent diagnosis flag (no standard FHIR equivalent) |
import { EXT_CONDITION } from '@polaris/fhir-de'
// Use as extension URL
resource.extension ??= []
resource.extension.push({
url: EXT_CONDITION.dauerdiagnose,
valueBoolean: someValue,
}) EXT_AI_PROVENANCE
AI Provenance Extensions
source: de.cognovis.fhir.praxis (EU AI Act Art. 50)
| Key | URL | Description |
|---|---|---|
| aiGenerated | https://fhir.cognovis.de/praxis/StructureDefinition/ai-generated | Boolean: content was AI-generated |
| aiProvider | https://fhir.cognovis.de/praxis/StructureDefinition/ai-provider | AI provider name (e.g. "Anthropic") |
| aiModel | https://fhir.cognovis.de/praxis/StructureDefinition/ai-model | AI model identifier |
| humanReviewed | https://fhir.cognovis.de/praxis/StructureDefinition/human-reviewed | Boolean: human review completed |
import { EXT_AI_PROVENANCE } from '@polaris/fhir-de'
// Use as extension URL
resource.extension ??= []
resource.extension.push({
url: EXT_AI_PROVENANCE.aiGenerated,
valueBoolean: someValue,
}) EXT_BILLING
Billing Extensions
source: de.cognovis.fhir.praxis
| Key | URL | Description |
|---|---|---|
| system | https://fhir.cognovis.de/praxis/StructureDefinition/billing-system | Billing system (EBM, GOÄ, etc.) |
| points | https://fhir.cognovis.de/praxis/StructureDefinition/billing-points | EBM Punkte value |
| euroValue | https://fhir.cognovis.de/praxis/StructureDefinition/billing-euro-value | Monetary value in EUR |
| billingRlvRelevanz | https://fhir.cognovis.de/praxis/StructureDefinition/billing-rlv-relevanz | EBM RLV-relevance flag (valueBoolean) |
import { EXT_BILLING } from '@polaris/fhir-de'
// Use as extension URL
resource.extension ??= []
resource.extension.push({
url: EXT_BILLING.system,
valueString: someValue,
}) GKV / PKV discriminators
Insurance type codes.
The KBV VersichertenArt system discriminates between GKV member types. Use SYSTEM_KBV_VERSICHERTENART as the coding system.
import { SYSTEM_KBV_VERSICHERTENART } from '@polaris/fhir-de'
// Coverage.type for a GKV member (Mitglied)
const coverage = {
resourceType: 'Coverage',
type: {
coding: [{
system: SYSTEM_KBV_VERSICHERTENART,
code: 'M', // M=Mitglied, F=Familienversicherter, R=Rentner
display: 'Mitglied',
}],
},
}
// GKV patient identifier uses SYSTEM_KVID_10
// PKV patient identifier uses SYSTEM_PKV_KVID
// buildPatient() handles this automatically when kvid10 or pkvKvid is provided Profile reference
Full profile and extension definitions are available at the canonical IG: fhir.cognovis.de/praxis/index.html