This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version. For a full list of available versions, see the Directory of published versions
Patient Administration Work Group | Maturity Level: N/A | Standards Status: Informative | Security Category: N/A | Compartments: N/A |
Following are maps for converting between the equivalent R4B resource and this R5 resource.
/// url = 'http://hl7.org/fhir/StructureMap/PractitionerRole5to4' /// name = 'PractitionerRole5to4' /// title = 'FML Conversion for PractitionerRole: R5 to R4' /// status = 'active' uses "http://hl7.org/fhir/StructureDefinition/PractitionerRole" alias PractitionerRoleR5 as source uses "http://hl7.org/fhir/4.0/StructureDefinition/PractitionerRole" alias PractitionerRoleR4 as target imports "http://hl7.org/fhir/StructureMap/*5to4" group PractitionerRole(source src : PractitionerRoleR5, target tgt : PractitionerRoleR4) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.active -> tgt.active; src.period -> tgt.period; src.practitioner -> tgt.practitioner; src.organization -> tgt.organization; src.code -> tgt.code; src.specialty -> tgt.specialty; src.location -> tgt.location; src.healthcareService -> tgt.healthcareService; src.contact as s then { s.telecom -> tgt.telecom; }; src.availability as sav then { sav.availableTime as s -> tgt.availableTime as t then PractitionerRoleAvailabilityAvailableTime(s, t); sav.notAvailableTime as s -> tgt.notAvailable as t then PractitionerRoleAvailabilityNotAvailableTime(s, t) "availableTime"; }; // src.characteristic -> tgt.characteristic; src.endpoint -> tgt.endpoint; } group PractitionerRoleAvailabilityAvailableTime(source src, target tgt) extends Element { src.daysOfWeek -> tgt.daysOfWeek; src.allDay -> tgt.allDay; src.availableStartTime -> tgt.availableStartTime; src.availableEndTime -> tgt.availableEndTime; } group PractitionerRoleAvailabilityNotAvailableTime(source src, target tgt) extends Element { src.description -> tgt.description; src.during -> tgt.during; }
/// url = 'http://hl7.org/fhir/StructureMap/PractitionerRole5to4B' /// name = 'PractitionerRole5to4B' /// title = 'FML Conversion for PractitionerRole: R5 to R4B' /// status = 'active' uses "http://hl7.org/fhir/StructureDefinition/PractitionerRole" alias PractitionerRoleR5 as source uses "http://hl7.org/fhir/4.3/StructureDefinition/PractitionerRole" alias PractitionerRoleR4B as target imports "http://hl7.org/fhir/StructureMap/*5to4B" group PractitionerRole(source src : PractitionerRoleR5, target tgt : PractitionerRoleR4B) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.active -> tgt.active; src.period -> tgt.period; src.practitioner -> tgt.practitioner; src.organization -> tgt.organization; src.code -> tgt.code; src.specialty -> tgt.specialty; src.location -> tgt.location; src.healthcareService -> tgt.healthcareService; src.contact as s then { s.telecom -> tgt.telecom; }; src.availability as sav then { sav.availableTime as s -> tgt.availableTime as t then PractitionerRoleAvailabilityAvailableTime(s, t); sav.notAvailableTime as s -> tgt.notAvailable as t then PractitionerRoleAvailabilityNotAvailableTime(s, t) "availableTime"; }; // src.characteristic -> tgt.characteristic; src.endpoint -> tgt.endpoint; } group PractitionerRoleAvailabilityAvailableTime(source src, target tgt) extends Element { src.daysOfWeek -> tgt.daysOfWeek; src.allDay -> tgt.allDay; src.availableStartTime -> tgt.availableStartTime; src.availableEndTime -> tgt.availableEndTime; } group PractitionerRoleAvailabilityNotAvailableTime(source src, target tgt) extends Element { src.description -> tgt.description; src.during -> tgt.during; }
/// url = 'http://hl7.org/fhir/StructureMap/PractitionerRole4Bto5' /// name = 'PractitionerRole4Bto5' /// title = 'FML Conversion for PractitionerRole: R4B to R5' /// status = 'active' uses "http://hl7.org/fhir/4.3/StructureDefinition/PractitionerRole" alias PractitionerRoleR4B as source uses "http://hl7.org/fhir/StructureDefinition/PractitionerRole" alias PractitionerRoleR5 as target imports "http://hl7.org/fhir/StructureMap/*4Bto5" group PractitionerRole(source src : PractitionerRoleR4B, target tgt : PractitionerRoleR5) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.active -> tgt.active; src.period -> tgt.period; src.practitioner -> tgt.practitioner; src.organization -> tgt.organization; src.code -> tgt.code; src.specialty -> tgt.specialty; src.location -> tgt.location; src.healthcareService -> tgt.healthcareService; src.telecom as s -> tgt.contact = create('ExtendedContactDetail') as t, t.telecom as telecom then ContactPoint(s, telecom) "contact"; src.availableTime as s -> tgt.availability = create('Availability') as av share av, av.availableTime as t then PractitionerRoleAvailabilityAvailableTime(s, t); // src.characteristic -> tgt.characteristic; src.notAvailable as s -> tgt.availability = create('Availability') as av share av, av.notAvailableTime as t then PractitionerRoleAvailabilityNotAvailableTime(s, t) "notAvailableTime"; src.endpoint -> tgt.endpoint; } group PractitionerRoleAvailabilityAvailableTime(source src, target tgt) extends BackboneElement { src.daysOfWeek -> tgt.daysOfWeek; src.allDay -> tgt.allDay; src.availableStartTime -> tgt.availableStartTime; src.availableEndTime -> tgt.availableEndTime; } group PractitionerRoleAvailabilityNotAvailableTime(source src, target tgt) extends BackboneElement { src.description -> tgt.description; src.during -> tgt.during; }
/// url = 'http://hl7.org/fhir/StructureMap/PractitionerRole4to5' /// name = 'PractitionerRole4to5' /// title = 'FML Conversion for PractitionerRole: R4 to R5' /// status = 'active' uses "http://hl7.org/fhir/4.0/StructureDefinition/PractitionerRole" alias PractitionerRoleR4 as source uses "http://hl7.org/fhir/StructureDefinition/PractitionerRole" alias PractitionerRoleR5 as target imports "http://hl7.org/fhir/StructureMap/*4to5" group PractitionerRole(source src : PractitionerRoleR4, target tgt : PractitionerRoleR5) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.active -> tgt.active; src.period -> tgt.period; src.practitioner -> tgt.practitioner; src.organization -> tgt.organization; src.code -> tgt.code; src.specialty -> tgt.specialty; src.location -> tgt.location; src.healthcareService -> tgt.healthcareService; src.telecom as s -> tgt.contact = create('ExtendedContactDetail') as t, t.telecom as telecom then ContactPoint(s, telecom) "contact"; src.availableTime as s -> tgt.availability = create('Availability') as av share av, av.availableTime as t then PractitionerRoleAvailabilityAvailableTime(s, t); // src.characteristic -> tgt.characteristic; src.notAvailable as s -> tgt.availability = create('Availability') as av share av, av.notAvailableTime as t then PractitionerRoleAvailabilityNotAvailableTime(s, t) "notAvailableTime"; src.endpoint -> tgt.endpoint; } group PractitionerRoleAvailabilityAvailableTime(source src, target tgt) extends BackboneElement { src.daysOfWeek -> tgt.daysOfWeek; src.allDay -> tgt.allDay; src.availableStartTime -> tgt.availableStartTime; src.availableEndTime -> tgt.availableEndTime; } group PractitionerRoleAvailabilityNotAvailableTime(source src, target tgt) extends BackboneElement { src.description -> tgt.description; src.during -> tgt.during; }