This document describes mapping between the OIOXML Advis(XDIS17/XDIS20) and the FHIR HospitalNotification message. Not all elements from OIOXML Advis are relevant in FHIR HospitalNotification message, which is marked with a ‘NA’. The purpose of this document is to help implementers of FHIR HospitalNotification message. The actual implementation guide which includes all requirements for the HospitalNotificationMessage can be found here
Please notice, that the expressions in ‘Actual FHIR path’ are made using the windows app called FHIRPath tester. In other applications, are the apostrophe ( ‘…’ ) might not used.
Data | OIOXML | Pseudo FHIR path | Must Support | Comment |
---|---|---|---|---|
Actual FHIR path | ||||
Date for Message sent | Emessage.Envelope.Sent.Date | MedComHospitalNotificationMessage.timestamp | Yes | All FHIR timestamps contain both date and time. This element holds information about when a bundle is created. The timestamp is equivalent to MedComHospitalNotificationMessage.MedcomMessagingProvenance. occurredDateTime |
Bundle.timestamp | ||||
Time for Message sent | Emessage.Envelope.Sent.Time | MedComHospitalNotificationMessage.timestamp | Yes | All FHIR timestamps contain both date and time. This element holds information about when a bundle is created. The timestamp is equivalent to MedComHospitalNotificationMessage.MedcomMessagingProvenance. occurredDateTime |
Bundle.timestamp | ||||
Message envelope id | Emessage.Envelope.Identifier | MedComHospitalNotificationMessage.id | Yes | A unique identifier for a bundle. The MedComHospitalNotificationMessage.id must be updated with a new value each time a new message is sent, or a message is resent. |
Bundle.id | ||||
AcknowledgementCode | Emessage.Envelope.AcknowledgementCode | NA | Not relevant, as all FHIR messages shall be acknowledged. | |
Message letter id | Emessage.NotificationOfAdmission.Letter.Identifier | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.id | Yes | A unique identifier for each message. This identifier should be globally unique. |
Bundle.entry.resource.ofType('MessageHeader').id | ||||
Version code | Emessage.NotificationOfAdmission.Letter. VersionCode |
NA | The version of a FHIR message can be found in the respective Implementation Guide, but is not included when exchanging a message. | |
Statistical code | Emessage.NotificationOfAdmission.Letter. StatisticalCode |
NA | Only VANSEnvelope contains a statistical code. | |
Authorization timestamp date | Emessage.NotificationOfAdmission.Letter.Authorisation.Date | MedComHospitalNotificationMessage. medcomHospitalNotificationEncounter.period.start | Yes | This timestamp includes a date and time. It represents the date and time for when the encounter starts. |
Bundle.entry.resource.ofType('Encounter').period.start | ||||
Authorization timestamp time | Emessage.NotificationOfAdmission.Letter.Authorisation.Time | MedComHospitalNotificationMessage. medcomHospitalNotificationEncounter.period.start | Yes | This timestamp includes a date and time. It represents the date and time for when the encounter starts. |
Bundle.entry.resource.ofType('Encounter').period.start | ||||
Message type (DIS20/DIS17) | Emessage.NotificationOfAdmission.Letter.TypeCode | MedComHospitalNotificationMessage.medcomHospitalNotificationMessageHeader.event[x].eventcoding.code | Yes | The type of message. For HospitalNotification the code shall be "hospital-notification-message" |
Bundle.entry.resource.ofType('MessageHeader').event.code | ||||
Message status | Emessage.NotificationOfAdmission.Letter.StatusCode | MedcomHospitalNotificationMessage.MedcomMessagingProvenance.activity.coding.code | Yes | The element that describes the status of the HospitalNotification eg. admit-inpatient. |
Bundle.entry.where(resource.ofType('Provenance').target.reference.replace('MessageHeader/','') = %resource.entry.resource.ofType('MessageHeader' ).id).resource.ofType('Provenance').activity.coding.code | ||||
Episode of care identifier | Emessage.NotificationOfAdmission.Letter.NotificationIdentifier | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader. MedComHospitalNotificationEncounter.episodeOfCare.identifier.value |
No | A unique identifier for the episode of care. |
Bundle.entry.resource.ofType('Encounter').episodeOfCare.identifier.value | ||||
EAN id for sender | Emessage.NotificationOfAdmission.sender. EANIdentifier |
MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.sender.MedComMessaging Organization.identifier.eanIdentifier |
Yes | The EAN identifier for a sending organisation. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').sender.reference.replace('Organization/','')). resource.ofType('Organization').identifier.where(system = 'urn:oid:1.3.88').value |
||||
EAN id for receiver | Emessage.NotificationOfAdmission.receiver.EANIdentifier | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.destination.primary.receiver. MedComMessagingOrganization.identifier.eanIdentifier |
Yes | The EAN identifier for a receiving organisation. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').destination.receiver.reference.replace('Organization/','')). resource.ofType('Organization').identifier.where(system = 'urn:oid:1.3.88').value |
||||
Sender id | Emessage.NotificationOfAdmission.sender.Identifier | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.sender. MedcomMessagingOrganization.identifier |
Yes | The identifier that describes the sender of the HospitalNotification message. Both a SOR- and EAN-identifier must be sent. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').sender.reference.replace('Organization/','')). resource.ofType('Organization').identifier |
||||
Receiver id | Emessage.NotificationOfAdmission.receiver.Identifier | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.destination.primary.receiver. MedcomMessagingOrganization.identifier |
Yes | The identifier that describes the receiver of the HospitalNotification message. Both a SOR- and EAN-identifier must be sent. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').destination.receiver.reference.replace('Organization/','')). resource.ofType('Organization').identifier |
||||
Sender type | Emessage.NotificationOfAdmission.sender. IdentifierCode |
NA | The type of the organisation is given in the SOR identifier. See sender id. | |
Receiver type | Emessage.NotificationOfAdmission.receiver. IdentifierCode |
NA | The type of the organisation is given in the SOR identifier. See receiver id. | |
Sender organization | Emessage.NotificationOfAdmission.sender. OrganizationName |
MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.sender. medcomMessagingOrganization.name |
Yes | This information is depending on the SOR identifier and shall only be included, if the OrganizationName is given in the SOR identifier. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').sender. reference.replace('Organization/','')).resource.ofType('Organization').name |
||||
Receiver organization | Emessage.NotificationOfAdmission.receiver. OrganizationName |
MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.destination.primary. receiver.medcomMessagingOrganization.name |
Yes | This information is depending on the SOR identifier and shall only be included, if the OrganizationName is given in the SOR identifier. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').destination.receiver.reference.replace('Organization/','')). resource.ofType('Organization').name |
||||
Sender department | Emessage.NotificationOfAdmission.sender. DepartmentName |
MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.sender. medcomMessagingOrganization.name |
Yes | This information is depending on the SOR identifier and shall only be included, if the DepartmentName is given in the SOR identifier. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').sender.reference.replace('Organization/','')). resource.ofType('Organization').name |
||||
Sender unit | Emessage.NotificationOfAdmission.sender.UnitName | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader.sender. medcomMessagingOrganization.name |
Yes | This information is depending on the SOR identifier and shall only be included, if the UnitName is given in the SOR identifier. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').sender.reference.replace('Organization/','')). resource.ofType('Organization').name |
||||
Sender telephone | Emessage.NotificationOfAdmission.sender. TelephoneSubscriberIdentifier |
NA | Organisation contactinformation is described by the SOR identifier. | |
Answer to EAN id | Emessage.NotificationOfAdmission.sender.AnswerTo. EANIdentifier |
MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader. MedComHospitalNotificationReportOfAdmissionRecipientExtension.MedComMessagingOrganization.identifier: eanIdentifier |
Yes | Contains EANidentifier for the recipient of the report of admission. |
Bundle.entry.where(resource.ofType('Organization').id.replace('string', 'id') = %resource.entry.resource.ofType('MessageHeader').extension.where(url = 'http://medcomfhir.dk/fhir/core/1.0/StructureDefinition/medcom-messaging-reportOfAdmissionRecipientExtension').value.reference.replace('Organization/','')).resource.ofType ('Organization').identifier.where(system = 'urn:oid:1.3.88').value |
||||
Patient id | Emessage.NotificationOfAdmission.Patient. CivilRegistrationNumber |
MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader. MedComHospitalNotificationEncounter.MedComCorePatient.identifier.cpr |
Yes | Information about the patient cpr-identifier. |
Bundle.entry.resource.ofType('Patient').identifier.where(system = 'urn:oid:1.2.208.176.1.2').value | ||||
Episode of care status | Emessage.NotificationOfAdmission.Patient. EpisodeOfCareStatusCode |
MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader. MedComMessagingProvenance.activity.coding.code MedComHospitalNotificationMessage. MedComHospitalNotificationMessageHeader.MedComHospitalNotificationEncounter. MedComCorePatient.deceased |
Yes (all) | The HospitalNotification message episodeofcare status is more complexed than the OIOXML message, please refer to the implementation guide for more information. |
Bundle.entry.where(resource.ofType('Provenance').target.reference.replace('MessageHeader/','') = %resource.entry.resource.ofType('MessageHeader').id).resource.ofType('Provenance').activity.coding. codeBundle.entry.resource.ofType('Patient').deceased |
||||
Notification start date | Emessage.NotificationOfAdmission.Admission.Date | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader. MedComHospitalNotificationEncounter.period.start |
Yes | The start of the admission. Date and time are included in the same element. |
Bundle.entry.resource.ofType('Encounter').period.start | ||||
Notification start time | Emessage.NotificationOfAdmission.Admission.Time | MedComHospitalNotificationMessage.MedComHospitalNotificationMessageHeader. MedComHospitalNotificationEncounter.period.start |
Yes | The start of the admission. Date and time are included in the same element. |
Bundle.entry.resource.ofType('Encounter').period.start |