AdmissionRequestBundle
Ein AdmissionRequestBundle ist ein Bundle nach dem Profil https://belegung-api.median-kliniken.de/fhir/StructureDefinition/AdmissionRequestBundle.
POST /api/v2/fhir/BundleAuthorization: Bearer <Access-Token>Content-Type: application/fhir+json
{ "resourceType": "Bundle", "id": "bundle-2025-002", "type": "collection", "meta": { "profile": ["https://belegung-api.median-kliniken.de/fhir/StructureDefinition/AdmissionRequestBundle"] }, "identifier": { "system": "https://belegung-api.median-kliniken.de/fhir/NamingSystem/admission-request", "value": "AR-2025-000124" }, "timestamp": "2025-01-15T11:00:00+01:00", "entry": [ ... ]}Antworten
Abschnitt betitelt „Antworten“| Status | Bedeutung |
|---|---|
202 Accepted |
Das Bundle ist angenommen. Die fachliche Antwort folgt asynchron als Webhook. |
400 Bad Request |
Das Bundle ist ungültig. Der Body ist ein OperationOutcome mit der Ursache. |
401 Unauthorized |
Token fehlt oder ist abgelaufen. |
Inhalt eines AdmissionRequestBundle
Abschnitt betitelt „Inhalt eines AdmissionRequestBundle“Ein AdmissionRequestBundle enthält folgende Ressourcen:
| Ressource | Anzahl | Zweck |
|---|---|---|
ServiceRequest |
1 | Die Anfrage selbst |
Patient |
1 | Patientendaten, pseudonymisiert oder vollständig |
Coverage |
0..1 | Kostenträger |
Encounter |
0..1 | Aufenthalt in der Vorklinik |
Condition |
0..n | Diagnosen |
Observation |
0..n | Klinische Messwerte, etwa Gewicht oder Größe |
Organization |
1..n | Vorklinik als Auftraggeber und die Zielkliniken, siehe FHIR-Ressourcen |
Beispiel:
{ "resourceType": "Bundle", "id": "bundle-2025-002", "type": "collection", "meta": { "profile": ["https://belegung-api.median-kliniken.de/fhir/StructureDefinition/AdmissionRequestBundle"] }, "identifier": { "system": "https://belegung-api.median-kliniken.de/fhir/NamingSystem/admission-request", "value": "AR-2025-000124" }, "timestamp": "2025-01-15T11:00:00+01:00", "entry": [ { "fullUrl": "urn:uuid:b2c3d4e5-f6a7-8901-bcde-f12345678901", "resource": { "resourceType": "ServiceRequest", "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "identifier": [{ "system": "urn:ietf:rfc:3986", "value": "https://source-system.example.org/fhir/ServiceRequest/SR-2025-124000" }], "status": "active", "intent": "proposal", "code": { "coding": [{ "system": "https://belegung-api.median-kliniken.de/fhir/CodeSystem/bedrequest-service-type", "code": "inpatient-rehabilitation", "display": "Vollstationäre Rehabilitation" }] }, "performerType": { "coding": [ { "system": "https://belegung-api.median-kliniken.de/fhir/CodeSystem/specialty", "code": "neuro-phase-c", "display": "Neurologie Phase C" }, { "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel-erweitert", "code": "2891", "display": "Neurologie Phase C" } ] }, "subject": { "reference": "urn:uuid:d4e5f6a7-b8c9-0123-def1-234567890123" }, "encounter": { "reference": "urn:uuid:44444444-5555-6666-7777-888888888888" }, "requester": { "reference": "urn:uuid:e5f6a7b8-c9d0-1234-ef12-345678901234" }, "performer": [ { "reference": "urn:uuid:f6a7b8c9-d0e1-2345-f123-456789012345" }, { "reference": "urn:uuid:a7b8c9d0-e1f2-3456-0123-567890123456" } ], "occurrenceDateTime": "2025-02-15", "note": [{ "text": "Patient benotigt barrierefreies Zimmer" }] } }, { "fullUrl": "urn:uuid:d4e5f6a7-b8c9-0123-def1-234567890123", "resource": { "resourceType": "Patient", "id": "d4e5f6a7-b8c9-0123-def1-234567890123", "identifier": [{ "system": "urn:ietf:rfc:3986", "value": "https://source-system.example.org/fhir/Patient/PAT-2025-789000" }], "name": [{ "family": "Mustermann", "given": ["Max", "Friedrich"] }], "gender": "male", "birthDate": "1975-03-15", "address": [{ "line": ["Musterstrasse 123"], "postalCode": "12345", "city": "Berlin" }], "telecom": [ { "system": "phone", "value": "+49 30 12345678", "use": "home" }, { "system": "email", "value": "max.mustermann@example.de" } ] } }, { "fullUrl": "urn:uuid:55555555-6666-7777-8888-999999999999", "resource": { "resourceType": "Coverage", "id": "55555555-6666-7777-8888-999999999999", "status": "active", "type": { "coding": [{ "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", "code": "PKV", "display": "Private Krankenversicherung" }] }, "beneficiary": { "reference": "urn:uuid:d4e5f6a7-b8c9-0123-def1-234567890123" }, "payor": [{ "identifier": { "system": "http://fhir.de/sid/arge-ik/iknr", "value": "168140346" }, "display": "Debeka Krankenversicherung" }] } }, { "fullUrl": "urn:uuid:44444444-5555-6666-7777-888888888888", "resource": { "resourceType": "Encounter", "id": "44444444-5555-6666-7777-888888888888", "status": "in-progress", "class": { "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", "code": "IMP", "display": "inpatient encounter" }, "subject": { "reference": "urn:uuid:d4e5f6a7-b8c9-0123-def1-234567890123" }, "serviceProvider": { "reference": "urn:uuid:e5f6a7b8-c9d0-1234-ef12-345678901234" }, "period": { "start": "2025-02-15" } } }, { "fullUrl": "urn:uuid:66666666-7777-8888-9999-aaaaaaaaaaaa", "resource": { "resourceType": "Condition", "id": "66666666-7777-8888-9999-aaaaaaaaaaaa", "code": { "coding": [{ "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm", "version": "2025", "code": "G62.9", "display": "Polyneuropathie, nicht näher bezeichnet" }] }, "subject": { "reference": "urn:uuid:d4e5f6a7-b8c9-0123-def1-234567890123" }, "encounter": { "reference": "urn:uuid:44444444-5555-6666-7777-888888888888" }, "recordedDate": "2025-01-08" } }, { "fullUrl": "urn:uuid:e5f6a7b8-c9d0-1234-ef12-345678901234", "resource": { "resourceType": "Organization", "id": "e5f6a7b8-c9d0-1234-ef12-345678901234", "identifier": [{ "system": "http://fhir.de/sid/arge-ik/iknr", "value": "109519005" }], "name": "Charite Universitatsmedizin Berlin" } }, { "fullUrl": "urn:uuid:f6a7b8c9-d0e1-2345-f123-456789012345", "resource": { "resourceType": "Organization", "id": "f6a7b8c9-d0e1-2345-f123-456789012345", "identifier": [{ "system": "http://fhir.de/sid/arge-ik/iknr", "value": "260950455" }], "name": "MEDIAN Klinik Bad Lausick" } }, { "fullUrl": "urn:uuid:a7b8c9d0-e1f2-3456-0123-567890123456", "resource": { "resourceType": "Organization", "id": "a7b8c9d0-e1f2-3456-0123-567890123456", "identifier": [{ "system": "http://fhir.de/sid/arge-ik/iknr", "value": "260950466" }], "name": "MEDIAN Klinik Flechtingen" } } ]}ServiceRequest
Abschnitt betitelt „ServiceRequest“Der ServiceRequest ist die Anfrage selbst. Er wird bei jeder Fortschreibung erneut gesendet; Felder wie intent, status und orderDetail ändern sich dabei mit dem Fortschritt der Anfrage.
| Feld | Anzahl | Bedeutung |
|---|---|---|
identifier |
1 | Globale, stabile URI der Anfrage beim Zuweiser. System urn:ietf:rfc:3986. Über sie erkennt das Portal die Anfrage wieder. |
status |
1 | active oder revoked. |
intent |
1 | proposal für die Kapazitätsanfrage, order ab der Provider-Auswahl. |
code |
1 | Art der Maßnahme, System bedrequest-service-type, siehe Referenz. |
performerType |
1 | Gewünschte Fachrichtung. |
subject |
1 | Verweis auf den Patienten. |
requester |
1 | Verweis auf die Vorklinik. |
performer |
1..n | Verweise auf die angefragten Kliniken. |
occurrenceDateTime |
0..1 | Gewünschtes Aufnahmedatum bei der Zielklinik. Zu unterscheiden vom Aufnahmedatum an der Vorklinik, siehe Encounter. |
orderDetail |
0..n | Provider-Auswahl oder deren Rückzug. |
note |
0..n | Freitext-Hinweise zur Anfrage, etwa besondere Anforderungen an das Zimmer. |
Jede Fortschreibung und jede Antwort bezieht sich auf den identifier. Er muss beim Zuweiser deshalb unverändert bleiben.
Fachrichtung
Abschnitt betitelt „Fachrichtung“performerType enthält mindestens ein Coding: den Fachabteilungsschlüssel der Deutschen Krankenhausgesellschaft (dkgev), einen Code aus dem CodeSystem specialty des Portals oder beide. Die Specialty unterscheidet die Fachrichtung feiner, etwa welche Phase einer neurologischen Behandlung gemeint ist. Für die Zuordnung wertet das Portal das Specialty-Coding vorrangig aus, weil es präziser ist; der dkgev-Schlüssel greift, wenn keine Specialty angegeben ist. Widersprechen sich beide, gewinnt die Specialty.
{ "performerType": { "coding": [ { "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel-erweitert", "code": "2891", "display": "Neurologie Phase C" }, { "system": "https://belegung-api.median-kliniken.de/fhir/CodeSystem/specialty", "code": "neuro-phase-c", "display": "Neurologie Phase C" } ] }}| Code | Bedeutung | Fachabteilungscode |
|---|---|---|
addiction |
Entwöhnungsbehandlungen | 8501 |
angiology |
Angiologie | 3750 |
cardiology |
Kardiologie | 0300 |
dermatology |
Dermatologie | 3400 |
endocrinology |
Endokrinologie | 0600 |
gastroenterology |
Gastroenterologie | 0700 |
geriatrics |
Geriatrie | 0200 |
gynaecology |
Gynäkologie | 2400 |
internal-medicine |
Innere Medizin | 0100 |
nephrology |
Nephrologie | 0400 |
neuro-pediatrics |
Neuropädiatrie | 2810 |
neuro-phase-b |
Neurologie Phase B | 2852 |
neuro-phase-c |
Neurologie Phase C | 2891 |
neuro-phase-d |
Neurologie Phase D | 2800 |
neurology |
Neurologie | 2800 |
oncology |
Onkologie | 0500 |
orthopedics |
Orthopädie | 2300 |
parents-and-child-rehab |
Begleitete Kinder | 1090 |
pediatrics |
Pädiatrie | 1000 |
pneumology |
Pneumologie | 0800 |
psychosomatic |
Psychosomatik/Psychotherapie | 3100 |
rheumatology |
Rheumatologie | 0900 |
urology |
Urologie | 2200 |
Welche Fachabteilungen eine Klinik anbietet, liefert der Endpunkt Kliniken.
Patient
Abschnitt betitelt „Patient“Der Datenstand richtet sich nach der Stufe des Verfahrens.
| Stufe | Patientendaten |
|---|---|
intent: proposal |
pseudonymisiert oder vollständig |
intent: order |
vollständig |
Pseudonymisiert heißt: Der Name wird über die FHIR-Erweiterung für fehlende Angaben ausgelassen, während Geburtsdatum, Geschlecht und Ort erhalten bleiben. Diese Angaben genügen der Klinik, um Kapazität zu beurteilen. Das Geburtsdatum kann dabei auf den 1. Januar des Jahres gesetzt werden, um zusätzlich zu pseudonymisieren.
{ "resourceType": "Patient", "identifier": [{ "system": "urn:ietf:rfc:3986", "value": "https://auftraggeber.example.org/fhir/Patient/pat-456" }], "name": [{ "_family": { "extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/iso21090-nullFlavor", "valueCode": "MSK" }] } }], "birthDate": "1975-06-30", "gender": "male", "address": [{ "postalCode": "12345", "city": "Berlin" }]}Coverage
Abschnitt betitelt „Coverage“Angaben zum Kostenträger.
| Feld | Anzahl | Bedeutung |
|---|---|---|
status |
1 | active |
type |
1 | Versicherungsart, System http://fhir.de/CodeSystem/versicherungsart-de-basis. Gängige Werte sind GKV, PKV, BG und SEL; die vollständige Liste pflegt fhir.de als Teil des deutschen FHIR-Basisprofils. |
beneficiary |
1 | Verweis auf den Patienten |
payor |
1..n | Kostenträger mit IK-Nummer |
Encounter
Abschnitt betitelt „Encounter“Der laufende Aufenthalt in der Vorklinik. Optional.
| Feld | Bedeutung |
|---|---|
status |
in-progress oder finished |
class |
Art des Aufenthalts, System http://terminology.hl7.org/CodeSystem/v3-ActCode. Im Regelfall IMP (stationär). |
subject |
Verweis auf den Patienten |
serviceProvider |
Verweis auf die Vorklinik |
period.start |
Aufnahmedatum in der Vorklinik. Das gewünschte Aufnahmedatum bei der Zielklinik steht stattdessen in ServiceRequest.occurrenceDateTime. |
Condition
Abschnitt betitelt „Condition“Diagnosen, kodiert nach ICD-10-GM (System http://fhir.de/CodeSystem/bfarm/icd-10-gm). Ein Bundle kann mehrere Condition-Ressourcen enthalten. Optional. Ein Beispiel steht im Bundle oben.
Observation
Abschnitt betitelt „Observation“Klinische Messwerte zum Patienten, etwa Gewicht oder Größe. Ein Bundle kann mehrere Observation-Ressourcen enthalten. Optional.
| Feld | Bedeutung |
|---|---|
code |
LOINC-Code des Messwerts, System http://loinc.org |
subject |
Verweis auf den Patienten |
valueQuantity |
Messwert mit Einheit nach UCUM |
Gewicht (LOINC 29463-7) und Größe (LOINC 8302-2):
[ { "resourceType": "Observation", "status": "final", "code": { "coding": [{ "system": "http://loinc.org", "code": "29463-7", "display": "Body weight" }] }, "subject": { "reference": "urn:uuid:d4e5f6a7-b8c9-0123-def1-234567890123" }, "valueQuantity": { "value": 82, "unit": "kg", "system": "http://unitsofmeasure.org", "code": "kg" } }, { "resourceType": "Observation", "status": "final", "code": { "coding": [{ "system": "http://loinc.org", "code": "8302-2", "display": "Body height" }] }, "subject": { "reference": "urn:uuid:d4e5f6a7-b8c9-0123-def1-234567890123" }, "valueQuantity": { "value": 178, "unit": "cm", "system": "http://unitsofmeasure.org", "code": "cm" } }]valueQuantity.unit gehört immer mit dazu, damit der Messwert eindeutig bleibt.
Organization
Abschnitt betitelt „Organization“Die Organizations in requester und performer sind die Vorklinik als Auftraggeber und die angefragten Kliniken, siehe FHIR-Ressourcen.
Eine Performer-Organization kann zusätzlich einen Deep-Link enthalten, unter dem System .../fhir/sid/performer-deep-link. Der Zuweiser hinterlegt hier optional einen Verweis auf seine eigene Sicht der Anfrage, damit die Klinik von dort aus dorthin zurückspringen kann.
Wiedererkennung über den Identifier
Abschnitt betitelt „Wiedererkennung über den Identifier“Das Portal führt keine eigene Anfrage-ID ein. Es erkennt Anfragen am ServiceRequest.identifier mit dem System urn:ietf:rfc:3986 wieder:
- Unbekannter Identifier: Es entsteht eine neue Anfrage.
- Bekannter Identifier: Die bestehende Anfrage wird fortgeschrieben.
Der Bundle.identifier dient nur der Nachvollziehbarkeit einzelner Übertragungen und spielt für diese Zuordnung keine Rolle.
Klinik auswählen
Abschnitt betitelt „Klinik auswählen“Hat eine Klinik zugesagt und entscheidet sich der Zuweiser für sie, sendet er denselben ServiceRequest erneut, diesmal mit intent: order und einem orderDetail:
{ "status": "active", "intent": "order", "orderDetail": [{ "coding": [{ "system": "https://belegung-api.median-kliniken.de/fhir/CodeSystem/order-detail-type", "code": "selected-provider" }] }], "performer": [{ "reference": "urn:uuid:..." }]}performer enthält dann nur noch die ausgewählte Klinik. Ab intent: order sind vollständige Patientendaten erforderlich.
| Code | Bedeutung |
|---|---|
selected-provider |
Auswahl einer Klinik |
selected-provider-cancelled |
Rückzug der Auswahl |
Anfrage stornieren
Abschnitt betitelt „Anfrage stornieren“Ein ServiceRequest mit status: revoked zieht die gesamte Anfrage zurück. Der Status hat dabei Vorrang: Ein Bundle mit status: revoked wird immer als Storno der Anfrage verstanden.
Beispiele
Abschnitt betitelt „Beispiele“Die Beispieldateien decken die Fälle einzeln ab: neue Anfrage pseudonymisiert und mit vollen Daten, Provider-Auswahl, Rückzug der Auswahl und Storno. Siehe Beispiele.