Magentus Practice Management FHIR Implementation Guide
1.2.16 - ci-build

Magentus Practice Management FHIR Implementation Guide - Local Development build (v1.2.16) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Resource Profile: EBookingsAppointment - Mappings

Draft as of 2024-08-15

Mappings for the ebookings-appointment resource profile.

### Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

EBookingsAppointment
Appointment | Request
contained (anaesthetic) | Request
identifier | Request.identifier
status | Request.status
serviceType | Request.code
reasonCode | Request.reasonCode
reasonReference | Request.reasonReference
priority | Request.priority
supportingInformation | Request.supportingInfo
supportingInformation (anaesthetic) | Request.supportingInfo
supportingInformation (prosthesis) | Request.supportingInfo
start | Request.occurrence[x]
end | Request.occurrence[x]
minutesDuration | Request.occurrence[x]
created | Request.authoredOn
comment | Request.note
basedOn | Request.basedOn
participant | Request.performer, Request.subject
participant (provider) | Request.performer, Request.subject
participant (assistant) | Request.performer, Request.subject
participant (anaesthetist) | Request.performer, Request.subject
participant (hospital) | Request.performer, Request.subject
participant (patient) | Request.performer, Request.subject
requestedPeriod | Request.occurrence[x]

### Mappings for RIM Mapping (http://hl7.org/v3)

EBookingsAppointment
Appointment | Entity. Role, or Act, Act[@moodCode <= 'INT']
text | Act.text?
contained | N/A
contained (anaesthetic) | Entity. Role, or Act, Act[moodCode<=INT]
contained (prosthesis) | Entity. Role, or Act, Device
extension | N/A
modifierExtension | N/A
identifier | .id
status | .statusCode
cancelationReason | n/a
serviceCategory | n/a, might be inferred from the ServiceDeliveryLocation
serviceType | n/a, might be inferred from the ServiceDeliveryLocation
id | n/a
extension | n/a
text | ./originalText[mediaType/code="text/plain"]/data
specialty | .performer.AssignedPerson.code
appointmentType | .code
reasonCode | .reasonCode
id | n/a
extension | n/a
text | ./originalText[mediaType/code="text/plain"]/data
reasonReference | .inboundRelationship[@typeCode = 'RSON'].observation
priority | .priorityCode
description | .text
supportingInformation | .inboundRelationship[@typeCode = 'SPRT'].observation
supportingInformation (anaesthetic) | .inboundRelationship[@typeCode = 'SPRT'].observation
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
display | N/A
supportingInformation (prosthesis) | .inboundRelationship[@typeCode = 'SPRT'].observation
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
display | N/A
start | .effectiveTime.low
end | .effectiveTime.high
minutesDuration | .activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width
slot | .outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
created | .author.time
comment | .subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
patientInstruction | .subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
basedOn | .outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
id | n/a
extension | n/a
use | Role.code or implied by context
type | Role.code or implied by context
system | II.root or Role.id.root
value | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
period | Role.effectiveTime or implied by context
assigner | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
display | N/A
display | N/A
participant | performer | reusableDevice | subject | location
id | n/a
extension | n/a
modifierExtension | N/A
type | (performer | reusableDevice | subject | location).@typeCode
actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
required | (performer | reusableDevice | subject | location).@performInd
status | (performer | reusableDevice | subject | location).statusCode
period | n/a
participant (provider) | performer | reusableDevice | subject | location
id | n/a
extension | n/a
modifierExtension | N/A
type | (performer | reusableDevice | subject | location).@typeCode
actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | n/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
display | N/A
required | (performer | reusableDevice | subject | location).@performInd
status | (performer | reusableDevice | subject | location).statusCode
period | n/a
participant (assistant) | performer | reusableDevice | subject | location
id | n/a
extension | n/a
modifierExtension | N/A
type | (performer | reusableDevice | subject | location).@typeCode
id | n/a
extension | n/a
coding | union(., ./translation)
text | ./originalText[mediaType/code="text/plain"]/data
actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
id | n/a
extension | n/a
type | N/A
identifier | .identifier
display | N/A
required | (performer | reusableDevice | subject | location).@performInd
status | (performer | reusableDevice | subject | location).statusCode
period | n/a
participant (anaesthetist) | performer | reusableDevice | subject | location
id | n/a
extension | n/a
modifierExtension | N/A
type | (performer | reusableDevice | subject | location).@typeCode
id | n/a
extension | n/a
coding | union(., ./translation)
text | ./originalText[mediaType/code="text/plain"]/data
actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
id | n/a
extension | n/a
type | N/A
identifier | .identifier
display | N/A
required | (performer | reusableDevice | subject | location).@performInd
status | (performer | reusableDevice | subject | location).statusCode
period | n/a
participant (hospital) | performer | reusableDevice | subject | location
id | n/a
extension | n/a
modifierExtension | N/A
type | (performer | reusableDevice | subject | location).@typeCode
id | n/a
extension | n/a
coding | union(., ./translation)
text | ./originalText[mediaType/code="text/plain"]/data
actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | n/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
display | N/A
required | (performer | reusableDevice | subject | location).@performInd
status | (performer | reusableDevice | subject | location).statusCode
period | n/a
participant (patient) | performer | reusableDevice | subject | location
id | n/a
extension | n/a
modifierExtension | N/A
type | (performer | reusableDevice | subject | location).@typeCode
id | n/a
extension | n/a
coding | union(., ./translation)
text | ./originalText[mediaType/code="text/plain"]/data
actor | performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
display | N/A
required | (performer | reusableDevice | subject | location).@performInd
status | (performer | reusableDevice | subject | location).statusCode
period | n/a
requestedPeriod | .activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]

### Mappings for iCalendar (http://ietf.org/rfc/2445)

EBookingsAppointment
Appointment | VEVENT
identifier | UID
status | STATUS
serviceCategory | CATEGORIES
appointmentType | CLASSIFICATION
priority | PRIORITY
description | SUMMARY
supportingInformation | ATTACH
supportingInformation (anaesthetic) | ATTACH
supportingInformation (prosthesis) | ATTACH
start | DTSTART
end | DTEND
minutesDuration | DURATION (e.g. PT15M)
created | CREATED
comment | DESCRIPTION (for internal use)
patientInstruction | DESCRIPTION (for patient use)
participant | ATTENDEE component to be created
type | n/a
actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
required | ROLE=REQ-PARTICIPANT (roleparam)
status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)
participant (provider) | ATTENDEE component to be created
type | n/a
actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
required | ROLE=REQ-PARTICIPANT (roleparam)
status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)
participant (assistant) | ATTENDEE component to be created
type | n/a
actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
required | ROLE=REQ-PARTICIPANT (roleparam)
status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)
participant (anaesthetist) | ATTENDEE component to be created
type | n/a
actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
required | ROLE=REQ-PARTICIPANT (roleparam)
status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)
participant (hospital) | ATTENDEE component to be created
type | n/a
actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
required | ROLE=REQ-PARTICIPANT (roleparam)
status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)
participant (patient) | ATTENDEE component to be created
type | n/a
actor | ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
required | ROLE=REQ-PARTICIPANT (roleparam)
status | ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)

### Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

EBookingsAppointment
Appointment |
identifier | FiveWs.identifier
status | FiveWs.status
specialty | FiveWs.class
priority | FiveWs.class
supportingInformation | FiveWs.context
supportingInformation (anaesthetic) | FiveWs.context
supportingInformation (prosthesis) | FiveWs.context
start | FiveWs.init
end | FiveWs.done[x]
participant |
actor | FiveWs.who
participant (provider) |
actor | FiveWs.who
participant (assistant) |
actor | FiveWs.who
participant (anaesthetist) |
actor | FiveWs.who
participant (hospital) |
actor | FiveWs.who
participant (patient) |
actor | FiveWs.who

### Mappings for HL7 v2 Mapping (http://hl7.org/v2)

EBookingsAppointment
Appointment |
contained (anaesthetic) | ORC
identifier | SCH-1, SCH-2, ARQ-1, ARQ-2
status | SCH-25
serviceType |
text | C*E.9. But note many systems use C*E.2 for this
appointmentType | ARQ-7
reasonCode | AIS-3, SCH-7
text | C*E.9. But note many systems use C*E.2 for this
priority | ARQ-12, SCH-11.6 / TQ1-9
description | NTE-3
start | ARQ-11.1, SCH-11.4 / TQ1-7
end | SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9
comment | NTE-3
patientInstruction | NTE-3
basedOn |
identifier |
use | N/A
type | CX.5
system | CX.4 / EI-2-4
value | CX.1 / EI.1
period | CX.7 + CX.8
assigner | CX.4 / (CX.4,CX.9,CX.10)
participant | PID, AIP, AIG, AIL
type | AIP-4, AIG-4
actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
status | AIP-12, AIG-14
participant (provider) | PID, AIP, AIG, AIL
type | AIP-4, AIG-4
actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
identifier | CX / EI (occasionally, more often EI maps to a resource id or a URL)
status | AIP-12, AIG-14
participant (assistant) | PID, AIP, AIG, AIL
type | AIP-4, AIG-4
coding | C*E.1-8, C*E.10-22
text | C*E.9. But note many systems use C*E.2 for this
actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
status | AIP-12, AIG-14
participant (anaesthetist) | PID, AIP, AIG, AIL
type | AIP-4, AIG-4
coding | C*E.1-8, C*E.10-22
text | C*E.9. But note many systems use C*E.2 for this
actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
status | AIP-12, AIG-14
participant (hospital) | PID, AIP, AIG, AIL
type | AIP-4, AIG-4
coding | C*E.1-8, C*E.10-22
text | C*E.9. But note many systems use C*E.2 for this
actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
identifier | CX / EI (occasionally, more often EI maps to a resource id or a URL)
status | AIP-12, AIG-14
participant (patient) | PID, AIP, AIG, AIL
type | AIP-4, AIG-4
coding | C*E.1-8, C*E.10-22
text | C*E.9. But note many systems use C*E.2 for this
actor | PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
status | AIP-12, AIG-14
requestedPeriod | ARQ-11