{
"description": "Defines the data structure for medical, regulatory and technical\\norganisations specific for german Healthcare and Telematics Infrastructure.",
"_filename": "StructureDefinition-HealthcareServiceDirectory.json",
"package_name": "de.gematik.fhir.directory",
"date": "2024-10-29",
"derivation": "constraint",
"publisher": "gematik GmbH",
"fhirVersion": "4.0.1",
"name": "HealthcareServiceDirectory",
"abstract": false,
"type": "HealthcareService",
"experimental": "false",
"resourceType": "StructureDefinition",
"title": "HealthcareService in gematik Directory",
"package_version": "0.13.1",
"status": "active",
"id": "b955827f-6350-47c1-b23f-3fe6d5da013d",
"kind": "resource",
"url": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"version": "0.13.1",
"differential": {
"element": [ {
"id": "HealthcareService.id",
"path": "HealthcareService.id",
"mustSupport": true
}, {
"id": "HealthcareService.meta.tag",
"min": 1,
"path": "HealthcareService.meta.tag",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "system",
"type": "pattern"
} ]
},
"constraint": [ {
"key": "CodingSytemCodeInv",
"human": "System and Code SHOULD be present",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "warning",
"expression": "system.exists() and code.exists()"
} ],
"mustSupport": true
}, {
"id": "HealthcareService.meta.tag:Origin",
"max": "1",
"min": 1,
"path": "HealthcareService.meta.tag",
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/directory/ValueSet/OriginVS"
},
"sliceName": "Origin",
"mustSupport": true
}, {
"id": "HealthcareService.meta.tag:Origin.system",
"min": 1,
"path": "HealthcareService.meta.tag.system",
"patternUri": "https://gematik.de/fhir/directory/CodeSystem/Origin"
}, {
"id": "HealthcareService.extension:holderId",
"max": "*",
"min": 0,
"path": "HealthcareService.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gematik.de/fhir/directory/StructureDefinition/holder-id-ex" ]
} ],
"sliceName": "holderId",
"mustSupport": true
}, {
"id": "HealthcareService.extension:ownerTelematikId",
"max": "*",
"min": 0,
"path": "HealthcareService.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gematik.de/fhir/directory/StructureDefinition/OwnerTelematikIdEx" ]
} ],
"sliceName": "ownerTelematikId",
"mustSupport": true
}, {
"id": "HealthcareService.identifier",
"path": "HealthcareService.identifier",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "system",
"type": "value"
} ]
},
"mustSupport": true
}, {
"id": "HealthcareService.identifier:TelematikID",
"max": "1",
"min": 0,
"path": "HealthcareService.identifier",
"type": [ {
"code": "Identifier",
"profile": [ "http://fhir.de/StructureDefinition/identifier-telematik-id" ]
} ],
"sliceName": "TelematikID",
"mustSupport": true
}, {
"id": "HealthcareService.providedBy",
"min": 1,
"path": "HealthcareService.providedBy",
"mustSupport": true
}, {
"id": "HealthcareService.category",
"path": "HealthcareService.category",
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/directory/ValueSet/healthcare-service-category-codes"
},
"mustSupport": true
}, {
"id": "HealthcareService.category.coding",
"path": "HealthcareService.category.coding",
"constraint": [ {
"key": "CodingSytemCodeInv",
"human": "System and Code SHOULD be present",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "warning",
"expression": "system.exists() and code.exists()"
} ]
}, {
"id": "HealthcareService.type",
"path": "HealthcareService.type",
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/directory/ValueSet/HealthcareServiceTypeVS"
},
"mustSupport": true
}, {
"id": "HealthcareService.type.coding",
"path": "HealthcareService.type.coding",
"constraint": [ {
"key": "CodingSytemCodeInv",
"human": "System and Code SHOULD be present",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "warning",
"expression": "system.exists() and code.exists()"
} ]
}, {
"id": "HealthcareService.specialty",
"path": "HealthcareService.specialty",
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/directory/ValueSet/HealthcareSpecialtyTypeVS"
},
"mustSupport": true
}, {
"id": "HealthcareService.specialty.coding",
"path": "HealthcareService.specialty.coding",
"constraint": [ {
"key": "CodingSytemCodeInv",
"human": "System and Code SHOULD be present",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "warning",
"expression": "system.exists() and code.exists()"
} ]
}, {
"id": "HealthcareService.location",
"max": "1",
"path": "HealthcareService.location",
"mustSupport": true
}, {
"id": "HealthcareService.name",
"path": "HealthcareService.name",
"mustSupport": true
}, {
"id": "HealthcareService.telecom",
"path": "HealthcareService.telecom",
"mustSupport": true
}, {
"id": "HealthcareService.telecom.system",
"path": "HealthcareService.telecom.system",
"mustSupport": true
}, {
"id": "HealthcareService.telecom.value",
"path": "HealthcareService.telecom.value",
"mustSupport": true
}, {
"id": "HealthcareService.telecom.use",
"path": "HealthcareService.telecom.use",
"mustSupport": true
}, {
"id": "HealthcareService.coverageArea",
"path": "HealthcareService.coverageArea",
"mustSupport": true
}, {
"id": "HealthcareService.coverageArea.extension",
"path": "HealthcareService.coverageArea.extension",
"mustSupport": true
}, {
"id": "HealthcareService.coverageArea.extension:serviceCoverageArea",
"max": "1",
"min": 0,
"path": "HealthcareService.coverageArea.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gematik.de/fhir/directory/StructureDefinition/ServiceCoverageArea" ]
} ],
"sliceName": "serviceCoverageArea",
"mustSupport": true
}, {
"id": "HealthcareService.coverageArea.extension:serviceCoveragePostalCode",
"max": "*",
"min": 0,
"path": "HealthcareService.coverageArea.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gematik.de/fhir/directory/StructureDefinition/ServiceCoveragePostalCode" ]
} ],
"sliceName": "serviceCoveragePostalCode",
"mustSupport": true
}, {
"id": "HealthcareService.characteristic",
"path": "HealthcareService.characteristic",
"short": "Physical Features & Technical Services",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "$this",
"type": "pattern"
} ]
},
"mustSupport": true
}, {
"id": "HealthcareService.characteristic.coding",
"path": "HealthcareService.characteristic.coding",
"constraint": [ {
"key": "CodingSytemCodeInv",
"human": "System and Code SHOULD be present",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "warning",
"expression": "system.exists() and code.exists()"
} ]
}, {
"id": "HealthcareService.characteristic:technicalCharacteristic",
"max": "*",
"min": 0,
"path": "HealthcareService.characteristic",
"short": "Technical Services",
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/directory/ValueSet/healthcareservice-technical-characteristic-vs"
},
"sliceName": "technicalCharacteristic",
"mustSupport": true
}, {
"id": "HealthcareService.characteristic:physicalFeatures",
"max": "*",
"min": 0,
"path": "HealthcareService.characteristic",
"short": "Physical Features",
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/directory/ValueSet/PhysicalFeaturesHealthCareServiceVS"
},
"sliceName": "physicalFeatures",
"mustSupport": true
}, {
"id": "HealthcareService.characteristic:physicalFeatures.extension:additionalNote",
"max": "1",
"min": 0,
"path": "HealthcareService.characteristic.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gematik.de/fhir/directory/StructureDefinition/PhysicalFeaturesAdditionalNoteEX" ]
} ],
"sliceName": "additionalNote",
"mustSupport": true
}, {
"id": "HealthcareService.communication",
"path": "HealthcareService.communication",
"mustSupport": true
}, {
"id": "HealthcareService.communication.coding",
"path": "HealthcareService.communication.coding",
"constraint": [ {
"key": "CodingSytemCodeInv",
"human": "System and Code SHOULD be present",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "warning",
"expression": "system.exists() and code.exists()"
} ]
}, {
"id": "HealthcareService.appointmentRequired",
"path": "HealthcareService.appointmentRequired",
"mustSupport": true
}, {
"id": "HealthcareService.availableTime",
"path": "HealthcareService.availableTime",
"constraint": [ {
"key": "VZD-Service-Opening-TimeInv-1",
"human": "If the specialOpeningTimes extension is set, daysOfWeek, availableStartTime, and availableEndTime must not be set.",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "error",
"expression": "extension('https://gematik.de/fhir/directory/StructureDefinition/SpecialOpeningTimesEX').exists() implies (daysOfWeek.empty() and availableStartTime.empty() and availableEndTime.empty())"
}, {
"key": "VZD-Service-Opening-TimeInv-2",
"human": "If the specialOpeningTimes extension is not set, daysOfWeek, availableStartTime, and availableEndTime all must be set.",
"source": "https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory",
"severity": "error",
"expression": "extension('https://gematik.de/fhir/directory/StructureDefinition/SpecialOpeningTimesEX').empty() implies (daysOfWeek.exists() and availableStartTime.exists() and availableEndTime.exists())"
} ],
"mustSupport": true
}, {
"id": "HealthcareService.availableTime.extension:specialOpeningTimes",
"max": "1",
"min": 0,
"path": "HealthcareService.availableTime.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gematik.de/fhir/directory/StructureDefinition/SpecialOpeningTimesEX" ]
} ],
"sliceName": "specialOpeningTimes",
"mustSupport": true
}, {
"id": "HealthcareService.availableTime.daysOfWeek",
"max": "1",
"path": "HealthcareService.availableTime.daysOfWeek",
"mustSupport": true
}, {
"id": "HealthcareService.availableTime.allDay",
"max": "0",
"path": "HealthcareService.availableTime.allDay"
}, {
"id": "HealthcareService.availableTime.availableStartTime",
"path": "HealthcareService.availableTime.availableStartTime",
"mustSupport": true
}, {
"id": "HealthcareService.availableTime.availableEndTime",
"path": "HealthcareService.availableTime.availableEndTime",
"mustSupport": true
}, {
"id": "HealthcareService.notAvailable",
"path": "HealthcareService.notAvailable",
"mustSupport": true
}, {
"id": "HealthcareService.notAvailable.description",
"path": "HealthcareService.notAvailable.description",
"mustSupport": true
}, {
"id": "HealthcareService.notAvailable.during",
"path": "HealthcareService.notAvailable.during",
"mustSupport": true
}, {
"id": "HealthcareService.availabilityExceptions",
"path": "HealthcareService.availabilityExceptions",
"mustSupport": true
}, {
"id": "HealthcareService.endpoint",
"path": "HealthcareService.endpoint",
"mustSupport": true
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
}