| Package | kbv.ita.erp |
| Resource Type | StructureDefinition |
| Id | KBV-EX-ERP-Multiple-Prescription |
| FHIR Version | R4 |
| Source | https://simplifier.net/resolve?scope=kbv.ita.erp@1.4.0-alpha&canonical=https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription |
| URL | https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription |
| Version | 1.4.0 |
| Status | draft |
| Date | 2025-06-17 |
| Name | KBV_EX_ERP_Multiple_Prescription |
| Type | Extension |
| Kind | complex-type |
| StructureDefinition | |
| KBV_PR_ERP_Prescription | KBV_PR_ERP_Prescription |
No resources found
No extension usage examples found
No narrative content found in resource
{
"resourceType": "StructureDefinition",
"id": "KBV-EX-ERP-Multiple-Prescription",
"url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription",
"version": "1.4.0",
"name": "KBV_EX_ERP_Multiple_Prescription",
"status": "draft",
"date": "2025-06-17",
"publisher": "Kassenärztliche Bundesvereinigung (KBV)",
"fhirVersion": "4.0.1",
"kind": "complex-type",
"abstract": false,
"context": [
{
"type": "element",
"expression": "MedicationRequest"
}
],
"type": "Extension",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation": "constraint",
"differential": {
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Mehrfachverordnung",
"definition": "Abbildung der Informationen im Rahmen einer Mehrfachverordnung",
"constraint": [
{
"key": "-erp-multiplePrescriptionKennzeichenTrueNummerierung",
"severity": "error",
"human": "Mehrfachverordnung: Wenn das Kennzeichen gleich true ist, muss eine Nummerierung (Zaehler und Nenner) angegeben werden.",
"expression": "(extension('Kennzeichen').value as boolean)=true implies extension('Nummerierung').exists()"
},
{
"key": "-erp-multiplePrescriptionKennzeichenFalseNummerierung",
"severity": "error",
"human": "Mehrfachverordnung: Wenn das Kennzeichen gleich false ist, darf keine Nummerierung (Zaehler und Nenner) angegeben werden.",
"expression": "(extension('Kennzeichen').value as boolean)=false implies extension('Nummerierung').exists().not()"
},
{
"key": "-erp-multiplePrescriptionKennzeichenTrueZeitraum",
"severity": "error",
"human": "Mehrfachverordnung: Wenn das Kennzeichen gleich true ist, muss ein Zeitraum (mindestens Beginn der Einlösefrist) angegeben werden.",
"expression": "(extension('Kennzeichen').value as boolean)=true implies extension('Zeitraum').exists()"
},
{
"key": "-erp-multiplePrescriptionKennzeichenFalseZeitraum",
"severity": "error",
"human": "Mehrfachverordnung: Wenn das Kennzeichen gleich false ist, darf kein Zeitraum angegeben werden.",
"expression": "(extension('Kennzeichen').value as boolean)=false implies extension('Zeitraum').exists().not()"
},
{
"key": "-erp-multiplePrescriptionKennzeichenTrueID",
"severity": "error",
"human": "Mehrfachverordnung: Wenn das Kennzeichen gleich true ist, muss eine ID angegeben werden.",
"expression": "(extension('Kennzeichen').value as boolean)=true implies extension('ID').exists()"
},
{
"key": "-erp-multiplePrescriptionKennzeichenFalseID",
"severity": "error",
"human": "Mehrfachverordnung: Wenn das Kennzeichen gleich false ist, darf keine ID angegeben werden.",
"expression": "(extension('Kennzeichen').value as boolean)=false implies extension('ID').exists().not()"
},
{
"key": "-erp-multiplePrescriptionEinloesefristEnde",
"severity": "error",
"human": "Das Ende der Einlösefrist darf nicht vor dem Beginn der Einlösefrist liegen.",
"expression": "(extension('Kennzeichen').value as boolean)=true and extension('Zeitraum').value.end.exists() implies extension('Zeitraum').value.start <= extension('Zeitraum').value.end"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"rules": "closed"
},
"min": 1,
"max": "4"
},
{
"id": "Extension.extension:Kennzeichen",
"path": "Extension.extension",
"sliceName": "Kennzeichen",
"min": 1,
"max": "1"
},
{
"id": "Extension.extension:Kennzeichen.url",
"path": "Extension.extension.url",
"fixedUri": "Kennzeichen"
},
{
"id": "Extension.extension:Kennzeichen.value[x]",
"path": "Extension.extension.value[x]",
"slicing": {
"discriminator": [
{
"type": "type",
"path": "$this"
}
],
"rules": "closed"
},
"min": 1,
"type": [
{
"code": "boolean"
}
]
},
{
"id": "Extension.extension:Kennzeichen.value[x]:valueBoolean",
"path": "Extension.extension.value[x]",
"sliceName": "valueBoolean",
"short": "Kennzeichen Mehrfachverordnung",
"definition": "Abbildung, ob die aktuelle Verordnung Teil einer Mehrfachverordnung ist\r\n\r\ntrue - die aktuelle Verordnung ist Teil einer Mehrfachverordnung \r\nfalse - die aktuelle Verordnung ist kein Teil einer Mehrfachverordnung",
"min": 1,
"type": [
{
"code": "boolean"
}
]
},
{
"id": "Extension.extension:Nummerierung",
"path": "Extension.extension",
"sliceName": "Nummerierung",
"max": "1"
},
{
"id": "Extension.extension:Nummerierung.url",
"path": "Extension.extension.url",
"fixedUri": "Nummerierung"
},
{
"id": "Extension.extension:Nummerierung.value[x]",
"path": "Extension.extension.value[x]",
"slicing": {
"discriminator": [
{
"type": "type",
"path": "$this"
}
],
"rules": "closed"
},
"min": 1,
"type": [
{
"code": "Ratio"
}
]
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio",
"path": "Extension.extension.value[x]",
"sliceName": "valueRatio",
"min": 1,
"type": [
{
"code": "Ratio"
}
],
"constraint": [
{
"key": "-erp-multiplePrescriptionNummerierung",
"severity": "error",
"human": "Mehrfachverordnung: Der Zaehler (Nummer der Teilverordnung) darf nicht größer als der Nenner (Gesamtanzahl) sein.",
"expression": "numerator.value <= denominator.value"
}
]
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.numerator",
"path": "Extension.extension.value[x].numerator",
"min": 1,
"constraint": [
{
"key": "-erp-multiplePrescriptionNumeratorValue",
"severity": "error",
"human": "Mehrfachverordnung: Zaehler muss den Wert 1, 2, 3 oder 4 haben.",
"expression": "where(value=1 or value=2 or value=3 or value=4).count()=1"
}
]
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.numerator.value",
"path": "Extension.extension.value[x].numerator.value",
"short": "Zähler Mehrfachverordnung",
"definition": "Das Feld dient der Kennzeichnung, um die wievielte Mehrfachverordnung einer Serie es sich handelt. Beispiel: \"2\" in \"2 von 4\"",
"min": 1
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.numerator.comparator",
"path": "Extension.extension.value[x].numerator.comparator",
"max": "0"
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.numerator.unit",
"path": "Extension.extension.value[x].numerator.unit",
"max": "0"
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.numerator.system",
"path": "Extension.extension.value[x].numerator.system",
"max": "0"
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.numerator.code",
"path": "Extension.extension.value[x].numerator.code",
"max": "0"
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.denominator",
"path": "Extension.extension.value[x].denominator",
"min": 1,
"constraint": [
{
"key": "-erp-multiplePrescriptionDenominatorValue",
"severity": "error",
"human": "Mehrfachverordnung: Nenner muss den Wert 2, 3 oder 4 haben.",
"expression": "where(value=2 or value=3 or value=4).count()=1"
}
]
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.denominator.value",
"path": "Extension.extension.value[x].denominator.value",
"short": "Nenner Mehrfachverordnung",
"definition": "Das Feld dient der Kennzeichnung der Länge dieser Serie. Beispiel: \"4\" in \"2 von 4\"",
"min": 1
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.denominator.comparator",
"path": "Extension.extension.value[x].denominator.comparator",
"max": "0"
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.denominator.unit",
"path": "Extension.extension.value[x].denominator.unit",
"max": "0"
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.denominator.system",
"path": "Extension.extension.value[x].denominator.system",
"max": "0"
},
{
"id": "Extension.extension:Nummerierung.value[x]:valueRatio.denominator.code",
"path": "Extension.extension.value[x].denominator.code",
"max": "0"
},
{
"id": "Extension.extension:Zeitraum",
"path": "Extension.extension",
"sliceName": "Zeitraum",
"short": "Zeitraum der Einlösefrist",
"max": "1"
},
{
"id": "Extension.extension:Zeitraum.url",
"path": "Extension.extension.url",
"fixedUri": "Zeitraum"
},
{
"id": "Extension.extension:Zeitraum.value[x]",
"path": "Extension.extension.value[x]",
"slicing": {
"discriminator": [
{
"type": "type",
"path": "$this"
}
],
"rules": "closed"
},
"min": 1,
"type": [
{
"code": "Period"
}
]
},
{
"id": "Extension.extension:Zeitraum.value[x]:valuePeriod",
"path": "Extension.extension.value[x]",
"sliceName": "valuePeriod",
"min": 1,
"type": [
{
"code": "Period"
}
],
"constraint": [
{
"key": "-erp-begrenzungDateStart",
"severity": "error",
"human": "Begrenzung der Datumsangabe auf 10 Zeichen JJJJ-MM-TT",
"expression": "start.toString().length()=10"
},
{
"key": "-erp-begrenzungDateEnd",
"severity": "error",
"human": "Begrenzung der Datumsangabe auf 10 Zeichen JJJJ-MM-TT",
"expression": "end.exists().not() or end.toString().length()=10"
}
]
},
{
"id": "Extension.extension:Zeitraum.value[x]:valuePeriod.start",
"path": "Extension.extension.value[x].start",
"short": "Beginn Einlösefrist der Verordnung",
"definition": "Datum, ab dem die Teilverordnung der Mehrfachverordnung eingelöst werden kann",
"min": 1
},
{
"id": "Extension.extension:Zeitraum.value[x]:valuePeriod.end",
"path": "Extension.extension.value[x].end",
"short": "Ende Einlösefrist der Verordnung",
"definition": "Datum des letzten Einlösetages der Teilverordnung der Mehrfachverordnung.\r\nVon der ausstellenden Person kann eine von der Arzneimittelverschreibungsverordnung (AMVV) abweichende Einlösefrist angegeben werden."
},
{
"id": "Extension.extension:ID",
"path": "Extension.extension",
"sliceName": "ID",
"max": "1"
},
{
"id": "Extension.extension:ID.url",
"path": "Extension.extension.url",
"fixedUri": "ID"
},
{
"id": "Extension.extension:ID.value[x]",
"path": "Extension.extension.value[x]",
"slicing": {
"discriminator": [
{
"type": "type",
"path": "$this"
}
],
"rules": "closed"
},
"min": 1,
"type": [
{
"code": "Identifier"
}
]
},
{
"id": "Extension.extension:ID.value[x]:valueIdentifier",
"path": "Extension.extension.value[x]",
"sliceName": "valueIdentifier",
"min": 1,
"type": [
{
"code": "Identifier"
}
]
},
{
"id": "Extension.extension:ID.value[x]:valueIdentifier.use",
"path": "Extension.extension.value[x].use",
"max": "0"
},
{
"id": "Extension.extension:ID.value[x]:valueIdentifier.type",
"path": "Extension.extension.value[x].type",
"max": "0"
},
{
"id": "Extension.extension:ID.value[x]:valueIdentifier.system",
"path": "Extension.extension.value[x].system",
"short": "Festlegung als UUID",
"min": 1,
"fixedUri": "urn:ietf:rfc:3986"
},
{
"id": "Extension.extension:ID.value[x]:valueIdentifier.value",
"path": "Extension.extension.value[x].value",
"short": "ID Mehrfachverordnung",
"definition": "Eineindeutige ID, welche über alle Teilverordnungen einer Mehrfachverordnung identisch ist.",
"min": 1,
"constraint": [
{
"key": "-erp-aufbauMehrfachverordnungID",
"severity": "error",
"human": "Der Aufbau der ID Mehrfachverordnung muss dem System urn:ietf:rfc:3986 entsprechen.",
"expression": "matches('^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}[%content%]#x27;)"
}
]
},
{
"id": "Extension.extension:ID.value[x]:valueIdentifier.period",
"path": "Extension.extension.value[x].period",
"max": "0"
},
{
"id": "Extension.extension:ID.value[x]:valueIdentifier.assigner",
"path": "Extension.extension.value[x].assigner",
"max": "0"
},
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription"
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"max": "0"
}
]
}
}