Skip to content

Commit

Permalink
Merge pull request #11 from HL7Austria/5-add-fsh-profiles-and-value-s…
Browse files Browse the repository at this point in the history
…et-service-type

5 add fsh profiles and value set service type
  • Loading branch information
sa-bre authored Feb 7, 2025
2 parents b8bf58c + eff92b6 commit c12286a
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 8 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,9 @@ TC-FHIR-AG-Scheduling-R5/_genonce.bat
TC-FHIR-AG-Scheduling-R5/_genonce.sh
TC-FHIR-AG-Scheduling-R5/_updatePublisher.bat
TC-FHIR-AG-Scheduling-R5/_updatePublisher.sh
_gencontinuous.bat
_gencontinuous.sh
_genonce.bat
_genonce.sh
_updatePublisher.bat
_updatePublisher.sh
6 changes: 5 additions & 1 deletion input/fsh/at-scheduling-appointment-response.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,8 @@ Profile: HL7ATSchedulingAppointmentResponse
Parent: AppointmentResponse
Id: at-scheduling-appointmentresponse
Title: "HL7® AT Scheduling AppointmentResponse Profile"
Description: "HL7® Austria FHIR® Scheduling Profile for appointmentresponse data in Austria."
Description: "HL7® Austria FHIR® Scheduling Profile for appointmentresponse data in Austria."

// Replace references to FHIR resources with references to profiles
* appointment only Reference(HL7ATSchedulingAppointment)
* actor only Reference(HL7ATCorePatient or Group or HL7ATCorePractitioner or HL7ATCorePractitionerRole or RelatedPerson or Device or HL7ATSchedulingHealthcareService or Location)
55 changes: 52 additions & 3 deletions input/fsh/at-scheduling-appointment.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,55 @@ Id: at-scheduling-appointment
Title: "HL7® AT Scheduling Appointment Profile"
Description: "HL7® Austria FHIR® Scheduling Profile for appointment data in Austria."

/*
* participant.actor only Reference(HL7ATCorePatient or HL7ATCorePractitioner or HL7ATSchedulingHealthcareService or Group or HL7ATCorePractitionerRole or CareTeam or RelatedPerson or Location)
*/
// Replace references to FHIR resources with references to profiles
* serviceType only CodeableReference(HL7ATSchedulingHealthcareService)
// Add binding to AtSchedulungServiceType
* serviceType from AtSchedulingServiceType (extensible)

* replaces only Reference(HL7ATSchedulingAppointment)
* previousAppointment only Reference(HL7ATSchedulingAppointment)
* originatingAppointment only Reference(HL7ATSchedulingAppointment)

* slot only Reference(HL7ATSchedulingSlot)

* subject only Reference(HL7ATCorePatient or Group)

// Participant slicing Inspired by https://github.com/gematik/spec-ISiK-Terminplanung/blob/main-stufe-4/Resources/input/fsh/ISiKTermin.fsh
* participant MS
* actor 1..1 MS

// ToDo: Limiting to profiles doesn't work because slices reference base resources instead of profiles. Is this desired?
// * actor only Reference(HL7ATCorePatient or Group or HL7ATCorePractitioner or HL7ATCorePractitionerRole or CareTeam or RelatedPerson or Device or HL7ATSchedulingHealthcareService or Location)

* display MS
* ^comment = "ToDo"
* status 1..1 MS
* ^slicing.discriminator.type = #type
* ^slicing.discriminator.path = "actor.resolve()"
* ^slicing.rules = #open
* participant ^comment = "ToDo"

* participant contains HL7ATCorePatient 1.. MS
* participant[HL7ATCorePatient].actor only Reference(Patient)
* participant[HL7ATCorePatient].actor MS
* participant[HL7ATCorePatient].actor.reference 1..1 MS
* participant[HL7ATCorePatient] ^comment = "ToDo"

* participant contains HL7ATCorePractitioner 0.. MS
* participant[HL7ATCorePractitioner].actor only Reference(Practitioner)
* participant[HL7ATCorePractitioner].actor MS
* participant[HL7ATCorePractitioner].actor.reference 1..1 MS
* participant[HL7ATCorePractitioner] ^comment = "ToDo"

* participant contains HL7ATCorePractitionerRole 0.. MS
* participant[HL7ATCorePractitionerRole].actor only Reference(PractitionerRole)
* participant[HL7ATCorePractitionerRole].actor MS
* participant[HL7ATCorePractitionerRole].actor.reference 1..1 MS
* participant[HL7ATCorePractitionerRole] ^comment = "ToDo"

* participant contains HL7ATSchedulingHealthcareService 0.. MS
* participant[HL7ATSchedulingHealthcareService].actor only Reference(HealthcareService)
* participant[HL7ATSchedulingHealthcareService].actor MS
* participant[HL7ATSchedulingHealthcareService].actor.reference 1..1 MS
* specialty MS
* ^comment = "ToDo"
9 changes: 8 additions & 1 deletion input/fsh/at-scheduling-healthcare-service.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,11 @@ Profile: HL7ATSchedulingHealthcareService
Parent: HealthcareService
Id: at-scheduling-healthcareservice
Title: "HL7® AT Scheduling HealthcareService Profile"
Description: "HL7® Austria FHIR® Scheduling Profile for healthcareservice data in Austria."
Description: "HL7® Austria FHIR® Scheduling Profile for healthcareservice data in Austria."

// Replace references to FHIR resources with references to profiles
* providedBy only Reference(HL7ATCoreOrganization)
* offeredIn only Reference(HL7ATSchedulingHealthcareService)

// Add binding to AtSchedulungServiceType
* type from AtSchedulingServiceType (extensible)
9 changes: 8 additions & 1 deletion input/fsh/at-scheduling-schedule.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,11 @@ Profile: HL7ATSchedulingSchedule
Parent: Schedule
Id: at-scheduling-schedule
Title: "HL7® AT Scheduling Schedule Profile"
Description: "HL7® Austria FHIR® Scheduling Profile for schedule data in Austria."
Description: "HL7® Austria FHIR® Scheduling Profile for schedule data in Austria."


// Replace references to FHIR resources with references to profiles
* actor only Reference(HL7ATCorePatient or HL7ATCorePractitioner or HL7ATCorePractitionerRole or CareTeam or RelatedPerson or Device or HL7ATSchedulingHealthcareService or Location)

// Add binding to AtSchedulungServiceType
* serviceType from AtSchedulingServiceType (extensible)
2 changes: 1 addition & 1 deletion input/fsh/at-scheduling-servicetype.fsh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
ValueSet: AtSchedulingServiceType
Id: AtSchedulingServiceType
Description: ""
Description: "ToDo"
10 changes: 9 additions & 1 deletion input/fsh/at-scheduling-slot.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,12 @@ Profile: HL7ATSchedulingSlot
Parent: Slot
Id: at-scheduling-slot
Title: "HL7® AT Scheduling Slot Profile"
Description: "HL7® Austria FHIR® Scheduling Profile for slot data in Austria."
Description: "HL7® Austria FHIR® Scheduling Profile for slot data in Austria."


// Replace references to FHIR resources with references to profiles
* serviceType only CodeableReference(HL7ATSchedulingHealthcareService)
* schedule only Reference(HL7ATSchedulingSchedule)

// Add binding to AtSchedulungServiceType
* serviceType from AtSchedulingServiceType (extensible)

0 comments on commit c12286a

Please sign in to comment.