Gestion d'Agendas Partagés (GAP)
3.0.0 - trial-use France flag

This page is part of the Guide d'implémentation FHIR - Gestion d'Agendas Partagés (v3.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Mappings

Cette page a pour objectif de mettre en correspondance les ressources FHIR avec les objets métiers du MOS et avec iCalendar.

Mise en correspondance entre objets métiers et ressources FHIR

Eléments métierEléments des ressources et profils FHIR identifiés
ClasseAttributRessourceElément
PersonnePriseCharge

L’objet métier INS de type INS regroupe les attributs détaillés ci-dessous.

INS : [0..1] INS[^1]

- matriculeINS : [1..1] Identifiant

- nomFamille : [1..1] Texte

- prenomActeNaissance : [1..1] Texte

- premierPrenomActeNaissance : [1..1] Texte

- nomUtilise : [1..1] Texte

- prenomUtilise : [1..1] Texte

- sexe : [1..1] Code

- dateNaissance : [1..1] DateHeure

- lieuNaissance : [1..1] Texte

Patient

FrPatient

- Identifier : Identifier [0..*]

 - Slice « INS-NIR »

 - Slice « INS-NIA »

 - Slice « INS-C »

- name[1..*].family : string [1..1] (FrHumanName)

- name[1..*].text : string [0..1] (FrHumanName)

- name[1..*].given : string [1..1] (FrHumanName)

Slice officialName, Patient.name.use prenant la valeur « official »)

- name[1..*].family : string [0..1] (FrHumanName)

- name[1..*].given : string [0..*] (FrHumanName)

Slice usualName, Patient.name.use prenant la valeur « usual »

- gender : code [1..1]

- birthDate : date [1..1]

- birthPlace : Extension(Address) [0..1]

Extension (BirthPlace)

idPersonnePriseCharge : [0..*] Identifiant

Patient

FrPatient

identifier : Identifier [0..*]
adresseCorrespondance : [0..*] Adresse

Patient

FrPatient

address : FrAddress [0..*]
telecommunication : [0..*] Telecommunication

Patient

FrPatient

telecom : FrContactPoint [0..*]
PersonnePhysiquenomFamille : [0..1] Texte

Patient

FrPatient

name[1..*].family : string [0..1]

(FrHumanName)

Slice « usualName », Patient.name.use prenant la valeur « usual »

prenomUsuel : [0..1] Texte

Patient

FrPatient

name[1..*].given : string [0..*]

(FrHumanName)

Slice « usualName », Patient.name.use prenant la valeur « usual »

ProfessionnelidPP : [1..1] Identifiant

Practitioner

FrPractitioner

identifier : Identifier [0..*]
ExerciceProfessionnelnomExercice : [0..1] Texte

PractitionerRole

AsPractitionerRolePRofile

name[0..*].family : string [0..1]

(FrHumanName)

Extension française (PractitionerRoleName)

prenomExercice : [0..1] Texte

PractitionerRole

AsPractitionerRolePRofile

name[0..*].given : string [0..*]

(FrHumanName)

Extension française (PractitionerRoleName)

profession : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

code : CodeableConcept [0..*]

- Slice « professionG15 »

- Slice «  professionR94 »

- Slice «  professionR95 »

- Slice «  professionR291 »

SituationExerciceadresseSE : [1..*] Adresse

PractitionerRole

AsPractitionerRoleProfile

location[0..*].address : FrAddressExtended [0..1]

(AsLocationProfile)

telecommunication : [0..*] Telecommunication

PractitionerRole

AsPractitionerRoleProfile

telecom : FrContactPoint [0..*]
SavoirFairespecialite : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR38 »

competence : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR39 »

competenceExclusive : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR40 »

orientationParticuliere : [0..1] CodePractitionerRole AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireG13 »

capaciteSavoirfaire : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR43 »

qualificationPAC : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR44 »

fonctionQualifiee: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR45 »

descNonQualifiant : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR42 »

droitExerciceComplementaire: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice « savoirFaireR97 »

EntiteGeographique idNat_Struct : [1..1] Identifiant

Organization

FrOrganization

identifier : Identifier [0..*]
denominationEG : [0..1] Texte

Organization

FrOrganization

name : string [0..1]
adresseEG : [0..*] Adresse

Organization

FrOrganization

address : FrAddress [0..*]
Lieunom : [0..1] Texte

Location

FrLocation

name : string [0..1]
description : [0..1] Texte

Location

FrLocation

description : string [0..1]
identifiant : [1..1] Identifiant

Location

FrLocation

identifier : Identifier [1..*]
adresse : [0..1] Adresse

Location

FrLocation

address : Address [0..1]
EquipementOperationnelidRessourseMaterielle : [1..1] IdentifiantDeviceidentifier : Identifier [0..*]
typeEquipement : [0..1] CodeDevice

Nomenclature à définir par le fournisseur de services en charge des équipements. Elle peut être issue de la TRE_R212-Equipement.

type : CodeableConcept[^2] [0..1]

libelle : [0..1] TexteDevicedeviceName[0..*].name : string [1..1]
reference : [0..1] CodeDevicemodelNumber : string [0..1]
ContactidContact : [1..1] Identifiant

RelatedPerson

FrRelatedPerson

identifier : Identifier [1..1]
adresse : [0..1] Adresse

RelatedPerson

FrRelatedPerson

address : FrAddress [0..*]
telecommunication : [0..*] Telecommunication

RelatedPerson

FrRelatedPerson

telecom : FrContactPoint [0..*]
PersonnePhysiquenomFamille : [0..*] Texte

RelatedPerson

FrRelatedPerson

name[0..*].family : string [0..1]

(FrHumanName)

prenomUsuel : [0..*] Texte

RelatedPerson

FrRelatedPerson

name[0..*].given : string [0..*]

(FrHumanName)

OrganisationInterneidentifiantOI : [1..1] Identifiant

HealthcareService

FrHealthcareService

identifier : Identifier [0..*]
nom : [0..1] Texte

HealthcareService

FrHealthcareService

name : string [0..1]
telecommunication : [0..*] Telecommunication

HealthcareService

FrHealthcareService

telecom : FrContactPoint [0..*]

Flux 1c – Suppression d’une ressource

Eléments métierEléments FHIR
ClasseAttributRessourceParamètre de recherche
PersonnePriseChargeidPersonnePriseCharge : [0..*] IdentifiantPatientid : token
INS : INS [0..1]Patientid : token
ContactidContact : [1..1] Identifiant RelatedPersonid : token
ProfessionnelidPP : [1..1] Identifiant Practitionerid : token
OrganisationInterneIdentifiantOI : [1..1] Identifiant HealthcareServiceid : token
LieuIdentifiant : [1..1] Identifiant Locationid : token
EquipementOperationnelidRessourceMaterielle :[1..1] IdentifiantDeviceid : token

Flux 2a – Création d’un agenda

Eléments métierEléments des ressources et profils FHIR identifiés
ClasseAttributRessourceElement
AgendaidAgenda : [1..1] Identifiant

Schedule

FrSchedule

identifier : Identifier [0..*]
nom : [0..1] Texte

Schedule

FrSchedule

comment : [0 ..1] string
dateCreation : [0..1] Date

Schedule

FrSchedule

Meta[0..1].lastUpdated : instant [0..1]
dateDebutValidite : [0..1] DateHeure

Schedule

FrSchedule

planningHorizon[0..1].start : [0..1] dateTime
dateFinValidite : [0..1] DateHeure

Schedule

FrSchedule

planningHorizon[0..1].end : [0..1] dateTime

Les acteurs de l’agenda sont décrits dans une partie spécifique

PersonnePriseCharge [0..*]

Schedule

FrSchedule

Cette référence peut être multiple lorsqu’un agenda concerne un ensemble d’acteurs. En établissement par exemple, un spécialiste, une infirmière et un équipement peuvent disposer d’un même agenda. La prise de rendez-vous sur cet agenda concerne des services de soins spécifiques nécessitant la disponibilité de ces trois acteurs.

actor : Reference [1..*][^4]

Il est préconisé de s’appuyer sur les profils AsPractitionerRoleProfile de l’annuaire santé.

(Fr[RelatedPerson] | [Device] | [FrHealthcareService] | [FrLocation] | [FrPatient] | [FrPractitioner] | PractitionerRole[^5])

Contact [0..*]
Professionnel [0..*]
OrganisationInterne [0..*]
Lieu [0..*]
EquipementOperationnel [0..*]
PersonnePriseCharge

L’objet métier INS de type INS regroupe les attributs détaillés ci-dessous.

INS : [0..1] INS[^6]

- matriculeINS : [1..1] Identifiant

- nomFamille : [1..1] Texte

- prenomActeNaissance : [1..1] Texte

- premierPrenomActeNaissance : [1..1] Texte

- nomUtilise : [1..1] Texte

- prenomUtilise : [1..1] Texte

- sexe : [1..1] Code

- dateNaissance : [1..1] DateHeure

- lieuNaissance : [1..1] Texte

Patient

FrPatient

- Identifier : Identifier [0..*]

 - Slice « INS-NIR »

 - Slice « INS-NIA »

 - Slice « INS-C »

- name[1..*].family : string [1..1] (FrHumanName)

- name[1..*].text : string [0..1] (FrHumanName)

- name[1..*].given : string [1..1] (FrHumanName)

Slice officialName, Patient.name.use prenant la valeur « official »)

- name[1..*].family : string [0..1] (FrHumanName)

- name[1..*].given : string [0..*] (FrHumanName)

Slice usualName, Patient.name.use prenant la valeur « usual »

- gender : code [1..1]

- birthDate : date [1..1]

- birthPlace : Extension(Address) [0..1]

Extension (BirthPlace)

idPersonnePriseCharge : [0..*] Identifiant

Patient

FrPatient

identifier : Identifier [0..*]
ContactidContact : [1..1] Identifiant

RelatedPerson

FrRelatedPerson

identifier : Identifier [1..1]
ProfessionnelidPP : [1..1] Identifiant

Practitioner

FrPractitioner

identifier : Identifier [0..*]
OganisationInterneidentifiantOI : [1..1] Identifiant

HealthcareService

FrHealthcareService

identifier : Identifier [0..*]
LieuIdentifiant : [1..1] Identifiant

Location

FrLocation

identifier : Identifier [1..*]
EquipementOperationnelidRessourceMaterielle : [1..1] IdentifiantDeviceidentifier : Identifier [0..*]

Flux 2c – Suppression d’un agenda

Eléments métier Eléments FHIR    
Classe Attribut Ressource Paramètre de recherche
Agenda idAgenda : [1..1] Identifiant Schedule
FrSchedule
id : token

Flux 3a – Création de disponibilités

Eléments métierEléments des ressources et profils FHIR identifiés
ClasseAttributRessourceElément
PlageDisponibiliteidDisponibilite : [1..1] Identifiant

Schedule

FrSchedule

Plusieurs disponibilités peuvent être décrites dans un même agenda. Des indisponibilités exceptionnelles, ne représentant pas les rendez-vous pris, peuvent aussi être décrites par cette extension (availabilityTime.type=busy-unavailable).

availabilityTime[0..*].identifier : Identifier [1..*][^7]

extension française

(FrScheduleAvailabiltyTime)

debutDisponibilite : [1..1] DateHeure

Schedule

FrSchedule

availabilityTime[0..*].start : dateTime [1..1]

extension française

(FrScheduleAvailabiltyTime)

finDisponibilite : [0..1] DateHeure

Schedule

FrSchedule

availabilityTime[0..*].end : dateTime [1..1]

extension française

(FrScheduleAvailabiltyTime)

dateDeclarationPlageDisponibilite : [0..1] DateHeure

Schedule

FrSchedule

availabilityTime[0..*].created : dateTime [0..1]

extension française

(FrScheduleAvailabiltyTime)

frequencePlageDisponibilite : [0..1] Code

Schedule

FrSchedule

availabilityTime[0..*].rrule[0..1].freq : coding [1..1]

extension française

(FrScheduleAvailabiltyTime)

jourSemaine : [0..*] Numerique

Schedule

FrSchedule

availabilityTime[0..*].rrule[0..1].byDay : string [0..*]

extension française

(FrScheduleAvailabiltyTime)

heureDebut : [0..1] Heure

Schedule

FrSchedule

availabilityTime[0..*].rrule[0..1].byHour : positiveInt [0..*]

extension française

(FrScheduleAvailabiltyTime)

heureFin :[0..1] Heure

Schedule

FrSchedule

availabilityTime[0..*].rrule[0..1].byHour : positiveInt [0..*]

extension française

(FrScheduleAvailabiltyTime)

statut : [1..1] Code

Schedule

FrSchedule

availabilityTime[0..*].type: coding [1..1]

avec valeur fixée à « free »

extension française

(FrScheduleAvailabiltyTime)

AgendaidAgenda : [1..1] Identifiant

Schedule

FrSchedule

Identifier : [0..*] Identifier

Flux 3c – Suppression de disponibilités**

Eléments métier Eléments FHIR    
Classe Attribut Ressource Paramètre de recherche
PlageDisponibilite idDisponibilite : [1..1] Identifiant Schedule availabilityTime.identifier : token

Flux 4a – Demande de consultation de disponibilités

Critère de rechercheParamètre FHIR
RessourceNomRessourceParamètres de recherche
PersonnePriseChargeidPersonnePriseChargeSlotschedule.actor:Patient.identifier : token
INSSlotschedule.actor:Patient.identifier : token
PersonnePhysiquenomFamille

Slot

schedule.actor:Patient.family : string
prenomUsuel

Slot

schedule.actor:Patient.given : string
ProfessionnelidPP

Slot

schedule.actor:Practitioner.identifier : token
ExerciceProfessionnelnomExercice

Slot

schedule.actor:PractitionerRole.name : string

ou

schedule.actor:Practitioner.family : string

prenomExercice

Slot

schedule.actor:PractitionerRole.name : string

ou

schedule.actor:Practitioner.family : string

profession

Slot

schedule.actor:PractitionerRole.role: token
SavoirFairespecialite

Slot

schedule.actor:PractitionerRole.specialty : token
competenceExclusive

Slot

schedule.actor:PractitionerRole.specialty : token
orientationParticuliere

Slot

schedule.actor:PractitionerRole.specialty : token
descNonQualifiant

Slot

schedule.actor:PractitionerRole.specialty : token
competence

Slot

schedule.actor:PractitionerRole.specialty : token
droitExerciceComplementaire

Slot

schedule.actor:PractitionerRole.specialty : token
fonctionQualifiee

Slot

schedule.actor:PractitionerRole.specialty : token
qualificationPAC

Slot

schedule.actor:PractitionerRole.specialty : token
capaciteSavoirFaire

Slot

schedule.actor:PractitionerRole.specialty : token
SituationExerciceadresseSE

Slot

schedule.actor:PractitionerRole.location.address : string

ou

Pour une recherche sur une certaine distance d’un point géolocalisé : https://www.hl7.org/fhir/location.html#positional

schedule.actor:PractitionerRole.location.near : special[^8]

telecommunication

Slot

schedule.actor:PractitionerRole.telecom : token
ContactidContact

Slot

schedule.actor:RelatedPerson.identifier : token
adresse

Slot

schedule.actor:RelatedPerson.address : string
telecommunication

Slot

schedule.actor:RelatedPerson.telecom: token
PersonnePhysiquenomFamille

Slot

schedule.actor:RelatedPerson.name : string
prenomUsuel

Slot

schedule.actor:RelatedPerson.name  : string
Lieunom

Slot

schedule.actor:Location.name : string
description

` `Slot

Il n’existe pas de critère de recherche équivalent dans FHIR
identifiant

Slot

schedule.actor:Location.identifier : token
adresseSlot

schedule.actor:Location.address : string

ou

schedule.actor:Location.near : special13</sup>

EquipementOperationnelidRessourceMaterielle

Slot

schedule.actor:Device.identifier : token
typeEquipement

Slot

schedule.actor:Device.type : token
libelle

Slot

schedule.actor:Device.device-name : string
reference

Slot

schedule.actor:Device.model : string
OrganisationInterne identifiantOI

Slot

schedule.actor:HealthcareService.identifier : token
nom Slot schedule.actor:HealthcareService.name : string
telecommunication Slot Il n’existe pas de critère de recherche équivalent dans FHIR
EntiteGeographiqueidNat_Struct

Slot

schedule.actor:HealthcareService.organization.identifier : token
denominationEG

Slot

schedule.actor:HealthcareService.organization.name : string
adresseEG

Slot

schedule.actor:HealthcareService.organization.address : string
Creneau idCreneauSlotidentifier : token
statutSlotstatus : token
dateDebutRechercheSlot

Ce critère représente le début de l’intervalle de recherche. Le critère de recherche GAP_Slot-earliestStart basé sur start et accompagné d’un comparateur est créé :

start : date

dateFinRechercheSlot

Ce critère représente la fin de l’intervalle de recherche. Le critère de recherche GAP_Slot-latestStart basé sur start et accompagné d’un comparateur est créé :

start : date

Flux 4b – Demande de consultation de rendez-vous

Critère de rechercheParamètre FHIR
RessourceNomRessourceParamètres de recherche
PersonnePriseChargeidPersonnePriseChargeAppointment

actor:Patient.identifier : token

ou

patient.identifier : token

INSAppointment

actor:Patient.identifier : token

ou

patient.identifier : token

ProfessionnelidPP

Appointment

actor:Practitioner.identifier : token

ou

practitioner.identifier : token

ContactidContactAppointmentactor:RelatedPerson.identifier : token
Lieuidentifiant

Appointment

actor:Location.identifier : token

ou

location.identifier : token

EquipementOperationnelidRessourceMaterielle

Appointment

actor:Device.identifier : token
OrganismeInterneidentifiantOI

Appointment

actor:HealthcareService.identifier : token
RendezVousidRDVAppointmentidentifier : token
dateDebut

Appointment

Ce critère représente le début de l’intervalle de recherche. Le critère de recherche GAP_Appointment-earliestStart basé sur start et accompagné d’un comparateur est créé :

date : date

dateFin

Appointment

Ce critère représente la fin de l’intervalle de recherche. Le critère de recherche GAP_Appointment-latestStart</i> basé sur start et accompagné d’un comparateur est créé :

date : date

datePriseRDV

Appointment

created : token
type

Appointment

service-type : token
statut Appointmentstatus : token
titreRDVAppointmentdescription : string
pieceJointeAppointmentsupporting-info : reference
prioriteAppointmentpriority : token
commentaireAppointmentdescription : string

Flux 5a – Réponse à la demande de consultation de disponibilités

Eléments métierEléments des ressources et profils FHIR identifiés
ClasseAttributRessourceElément
CreneauidCreneau : [1..1] Identifiant

Slot

FrSlot

identifier : Identifier [0..*]
statut : [1..1] Code

Slot

FrSlot

status : code [1..1]
dateDebut : [1..1] DateHeure

Slot

FrSlot

start : instant [1..1]
dateFin : [1..1] DateHeure

Slot

FrSlot

end : instant [1..1]
informationComplementaire : [0..1]

Slot

FrSlot

comment : string [0..1]

L’agenda est décrit dans une partie spécifique.

Agenda [1..1]

Slot

FrSlot

schedule : Reference [1..1]

(FrSchedule)

AgendaidAgenda : [1..1] Identifiant

Schedule

FrSchedule

identifier : Identifier [0..*]

Les acteurs de l’agenda sont décrits dans une partie spécifique.

PersonnePriseCharge [0..*]

Schedule

FrSchedule

Cette référence peut être multiple lorsqu’un agenda concerne un ensemble d’acteurs. En établissement par exemple, un spécialiste, une infirmière et un équipement peuvent disposer d’un même agenda. La prise de rendez-vous sur cet agenda concerne des services de soins spécifiques nécessitant la disponibilité de ces trois acteurs.

actor : Reference [1..*][^11]

Il est préconisé de s’appuyer sur les profils AsPractitionerRoleProfile de l’annuaire santé.

(Fr[RelatedPerson] | [Device] | [FrHealthcareService] | [FrLocation] | [FrPatient] | [FrPractitioner] | PractitionerRole[^12])

Contact [0..*]
Professionnel [0..*]
OrganisationInterne [0..*]
Lieu [0..*]
EquipementProfessionnel [0..*]
PersonnePriseChargeidPersonnePriseCharge : [0..*] Identifiant

Patient

FrPatient

identifier : Identifier [0..*]

L’objet métier INS de type INS regroupe les attributs détaillés ci-dessous.

INS : [0..1] INS[^13]

- matriculeINS : [1..1] Identifiant

- nomFamille : [1..1] Texte

- prenomActeNaissance : [1..1] Texte

- premierPrenomActeNaissance : [1..1] Texte

- nomUtilise : [1..1] Texte

- prenomUtilise : [1..1] Texte

- sexe : [1..1] Code

- dateNaissance : [1..1] DateHeure

- lieuNaissance : [1..1] Texte

Patient

FrPatient

- Identifier : Identifier [0..*]

 - Slice « INS-NIR »

 - Slice « INS-NIA »

 - Slice « INS-C »

- name[1..*].family : string [1..1] (FrHumanName)

- name[1..*].text : string [0..1] (FrHumanName)

- name[1..*].given : string [1..1] (FrHumanName)

Slice officialName, Patient.name.use prenant la valeur « official »)

- name[1..*].family : string [0..1] (FrHumanName)

- name[1..*].given : string [0..*] (FrHumanName)

Slice usualName, Patient.name.use prenant la valeur « usual »

- gender : code [1..1]

- birthDate : date [1..1]

- birthPlace : Extension(Address) [0..1]

Extension (BirthPlace)

adresseCorrespondance : [0..*] Adresse

Patient

FrPatient

address : FrAddress [0..*]
telecommunication : [0..*] Telecommunication

Patient

FrPatient

telecom : FrContactPoint [0..*]
PersonnePhysiquenomFamille : [0..1] Texte

Patient

FrPatient

name[1..*].family : string [0..1]

(FrHumanName)

Slice « usualName », Patient.name.use prenant la valeur « usual »

prenomUsuel : [0..1] Texte

Patient

FrPatient

name[1..*].given : string [0..*]

(FrHumanName)

Slice « usualName », Patient.name.use prenant la valeur « usual »

ProfessionnelidPP : [1..1] Identifiant

Practitioner

FrPractitioner

identifier : Identifier [0..*]
ExerciceProfessionnelnomExercice : [0..1] Texte

PractitionerRole

AsPractitionerRoleProfile

name[0..*].family : string [0..1]

(FrHumanName)

Extension française (PractitionerRoleName)

prenomExercice : [0..1] Texte

PractitionerRole

AsPractitionerRoleProfile

name[0..*].given : string [0..*]

(FrHumanName)

Extension française (PractitionerRoleName)

profession : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

Code : CodeableConcept [0..*]

- Slice « professionG15 »

- Slice « professionR94 »

- Slice « professionR95 »

- Slice « professionR291 »

SituationExerciceadresseSE : [1..*] Adresse

PractitionerRole

AsPractitionerRoleProfile

location[0..*].address : FrAddressExtended [0..1]

(AsLocationProfile)

telecommunication : [0..*] Telecommunication

PractitionerRole

AsPractitionerRoleProfile

telecom : FrContactPoint [0..*]
SavoirFairespecialite: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR38 »

competence: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR39 »

competenceExclusive: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR40 »

orientationParticuliere: [0..1] CodePractitionerRole AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireG13 »

capaciteSavoirFaire: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR43 »

qualificationPAC: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR44 »

fonctionQualifiee: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR45 »

descNonQualifiant: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR42 »

droitExerciceComplementaire: [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

specialty : CodeableConceptTimed [0..*]

Slice «  savoirFaireR97 »

OrganisationInterne identifiantOI : [1..1] Identifiant

HealthcareService

FrHealthcareService

identifier : Identifier [0..*]
nom : [0..1] Texte

HealthcareService

FrHealthcareService

name : string [0..1]
telecommunication : [0..*] Telecommunication

HealthcareService

FrHealthcareService

telecom : FrContactPoint [0..*]
EntiteGeographiqueidNat_Struct : [1..1] Identifiant

Organization

FrOrganization

identifier : Identifier [0..*]
denominationEG : [0..1] Texte

Organization

FrOrganization

name : string [0..1]
adresseEG : [0..*] Adresse

Organization

FrOrganization

address : Address [0..*]
Lieuidentifiant : [1..1] Identifiant

Location

FrLocation

identifier : Identifier [1..*]
nom : [0..1] Texte

Location

FrLocation

name : string [0..1]
description : [0..1] Texte

Location

FrLocation

description : string [0..1]
adresse : [0..*] Adresse

Location

FrLocation

address : Address [0..1]
EquipementOperationnelidRessourceMaterielle : [1..1] IdentifiantDeviceidentifier : Identifier [0..*]
typeEquipement : [0..1] CodeDevicetype : CodeableConcept [0..1]
libelle : [0..1] TexteDevicedeviceName[0..*].name : string [1..1]
reference : [0..1] CodeDevicemodelNumber : string [0..1]
ContactidContact : [1..1] Identifiant

RelatedPerson

FrRelatedPerson

identifier : Identifier [1..1]
adresse : [0..1] Adresse

RelatedPerson

FrRelatedPerson

address : Address [0..*]
telecommunication : [0..*] Telecommunication

RelatedPerson

FrRelatedPerson

telecom : FrContactPoint [0..*]
PersonnePhysiquenomFamille : [0..*] Texte

RelatedPerson

FrRelatedPerson

name[0..*].family : string [0..1]

(FrHumanName)

prenomUsuel : [0..*] Texte

RelatedPerson

FrRelatedPerson

name[0..*].given : string [0..*]

(FrHumanName)

Flux 5b – Réponse à la demande de consultation de rendez-vous

Eléments métierEléments des ressources et profils FHIR identifiés
ClasseAttributRessourceElément
RendezVousidRDV : [1..1] Identifiant

Appointment

FrAppointment

identifier : Identifier [0..*]
dateDebutRDV : [0..1] DateHeure

Appointment

FrAppointment

start : instant [0..1]
dateFinRDV : [0..1] DateHeure

Appointment

FrAppointment

end : instant [0..1]
datePriseRDV : [0..1] DateHeure

Appointment

FrAppointment

created : dateTime [0..1]
type: [0..1] Code

Appointment

FrAppointment

serviceType : CodeableConcept [0..*]
statut : [1..1] Code

Appointment

FrAppointment

status : code [1..1]
titreRDV : [0..1] Texte

Appointment

FrAppointment

description : string [0..1]
pieceJointe : [0..*] ObjetBinaire

Appointment

FrAppointment

supportingInformation : Reference [0..*]

(any)

priorite : [0..1] Code

Appointment

FrAppointment

priority : unsignedInt [0..1]
commentaire : [0..1] Texte

Appointment

FrAppointment

comment : string [0..1]

Les participants sont décrits dans une partie spécifique

PersonnePriseCharge [0..*]

Appointment

FrAppointment

Cette référence peut être multiple lorsqu’un agenda concerne un ensemble d’acteurs. En établissement par exemple, un spécialiste, une infirmière et un équipement peuvent disposer d’un même agenda. La prise de rendez-vous sur cet agenda concerne des services de soins spécifiques nécessitant la disponibilité de ces trois acteurs.

Il est préconisé de s’appuyer sur les profils AsPractitionerRoleProfile de l’annuaire santé.

participant[1..*].actor : Reference [0..1][^15] (Fr[RelatedPerson] | [Device] | [FrHealthcareService] | [FrLocation] | [FrPatient] | [FrPractitioner] | PractitionerRole[^16])

Contact [0..*]
Professionnel [0..*]
OrganisationInterne [0..*]
Lieu [0..*]
EquipementOperationnel [0..*]
ProfessionnelidPP : [1..1] Identifiant

Practitioner

FrPractitioner

identifier : Identifier [0..*]
Lieuidentifiant : [1..1] Identifiant

Location

FrLocation

identifier : Identifier [1..*]
PersonnePriseChargeidPersonnePriseCharge : [0..1] Identifiant

Patient

FrPatient

identifier : Identifier [0..*]

L’objet métier INS de type INS regroupe les attributs détaillés ci-dessous.

INS : [0..1] INS[^17]

- matriculeINS : [1..1] Identifiant

- nomFamille : [1..1] Texte

- prenomActeNaissance : [1..1] Texte

- premierPrenomActeNaissance : [1..1] Texte

- nomUtilise : [1..1] Texte

- prenomUtilise : [1..1] Texte

- sexe : [1..1] Code

- dateNaissance : [1..1] DateHeure

- lieuNaissance : [1..1] Texte

Patient

FrPatient

- Identifier : Identifier [0..*]

 - Slice « INS-NIR »

 - Slice « INS-NIA »

 - Slice « INS-C »

- name[1..*].family : string [1..1] (FrHumanName)

- name[1..*].text : string [0..1] (FrHumanName)

- name[1..*].given : string [1..1] (FrHumanName)

Slice officialName, Patient.name.use prenant la valeur « official »)

- name[1..*].family : string [0..1] (FrHumanName)

- name[1..*].given : string [0..*] (FrHumanName)

Slice usualName, Patient.name.use prenant la valeur « usual »

- gender : code [1..1]

- birthDate : date [1..1]

- birthPlace : Extension(Address) [0..1]

Extension (BirthPlace)

EquipementOperationnelidRessourceOperationnelle : [1..1] Identifiant

Device

FrDevice

identifier : Identifier [0..*]
OrganisationInterneidentifiantOI : [1..1] Identifiant

HealthcareService

FrHealthcareService

identifier : Identifier [0..*]
ContactidContact : [1..1] Identifiant

RelatedPerson

FrRelatedPerson

identifier : Identifier [1..1]

Flux 6a – Création de rendez-vous

Eléments métierEléments des ressources et profils FHIR identifiés
ClasseAttributRessourceElément
RendezVousidRDV : [1..1] Identifiant

Appointment

FrAppointment

identifier : Identifier [0..*]
dateDebutRDV : [1..1] DateHeure

Appointment

FrAppointment

start : instant [0..1]
dateFinRDV : [0..1] DateHeure

Appointment

FrAppointment

end : instant [0..1]
datePriseRDV : [1..1] DateHeure

Appointment

FrAppointment

created : dateTime [0..1]
type: [0..1] Code

Appointment

FrAppointment

serviceType : CodeableConcept [0..*]
statut :[1..1] Code

Appointment

FrAppointment

status : code [1..1]

- « proposed » dans le cadre d’une demande de rendez-vous

- « booked » dans le cadre de la déclaration d’un rendez-vous pris

- Cf. la documentation du standard pour les autres statuts

pieceJointe : [0..*] ObjetBinaire

Appointment

FrAppointment

supportingInformation : Reference [0..*]

(any)

priorite : [0..1] Code

Appointment

FrAppointment

priority : unsignedInt [0..1]
titreRDV : [0..1] Texte

Appointment

FrAppointment

description : string [0..1]
commentaire : [0..1] Texte

Appointment

FrAppointment

comment : string [0..1]

Le créneau est décrit dans une partie spécifique

Creneau [0..*]

Appointment

FrAppointment

slot : Reference [0..*]

(FrSlot)

Les participants sont décrits dans une partie spécifique.

PersonnePriseCharge [0..*]

Appointment

FrAppointment

Cette référence peut être multiple lorsqu’un agenda concerne un ensemble d’acteurs. En établissement par exemple, un spécialiste, une infirmière et un équipement peuvent disposer d’un même agenda. La prise de rendez-vous sur cet agenda concerne des services de soins spécifiques nécessitant la disponibilité de ces trois acteurs.

Il est préconisé de s’appuyer sur le profil AsPractitionerRoleProfile de l’annuaire santé.

participant[1..*].actor : Reference [0..1][^20] (Fr[RelatedPerson] | [Device] | [FrHealthcareService] | [FrLocation] | [FrPatient] | [FrPractitioner] | PractitionerRole[^21])

- « needs-action » dans le cadre d’une demande de rendez-vous avec attente de confirmation

- « accepted » dans le cadre de la déclaration d’un rendez-vous pris et confirmé.

- Cf. la documentation du standard pour les autres statuts

Contact [0..*]
Professionnel [0..*]
OrganisationInterne [0..*]
Lieu [0..*]
EquipementOperationnel [0..*]

Les participants sont décrits dans une partie spécifique.

PersonnePriseCharge [0..*]

Appointment

FrAppointment

Extension (FrAppointmentOperator)

valueRefrence : reference [0..*]

Contact [0..*]
Professionnel [0..*]
OrganisationInterne [0..*]
ProfessionnelidPP : [0..1] Identifiant

Practitioner

FrPractitioner

identifier : Identifier [0..*]
ExerciceProfessionnelnomExercice : [0..1] Texte

PractitionerRole

AsPractitionerRoleProfile

name[0..*].family : string [0..1]

(FrHumanName)

Extension française (PractitionerRoleName)

prenomExercice : [0..1] Texte

PractitionerRole

AsPractitionerRoleProfile

name[0..*].given : string [0..*]

(FrHumanName)

Extension française (PractitionerRoleName)

profession : [0..1] Code

PractitionerRole

AsPractitionerRoleProfile

Code : CodeableConcept [0..*]

- Slice « professionG15 »

- Slice « professionR94 »

- Slice « professionR95 »

- Slice « professionR291 »

SituationExerciceadresseSE : [1..*] Adresse

PractitionerRole

AsPractitionerRoleProfile

location[0..*].address : FrAddressExtended [0..1]

(AsLocationProfile)

telecommunication : [0..*] Telecommunication

PractitionerRole

AsPractitionerRoleProfile

telecom : FrContactPoint [0..*]
Lieuidentifiant : [1..1] Identifiant

Location

FrLocation

identifier : Identifier [1..*]
PersonnePriseChargeidPersonnePriseCharge : [0..*] Identifiant

Patient

FrPatient

identifier : Identifier [0..*]

L’objet métier INS de type INS regroupe les attributs détaillés ci-dessous.

INS : [0..1] INS[^23]

- matriculeINS : [1..1] Identifiant

- nomFamille : [1..1] Texte

- prenomActeNaissance : [1..1] Texte

- premierPrenomActeNaissance : [1..1] Texte

- nomUtilise : [1..1] Texte

- prenomUtilise : [1..1] Texte

- sexe : [1..1] Code

- dateNaissance : [1..1] DateHeure

- lieuNaissance : [1..1] Texte

Patient

FrPatient

- Identifier : Identifier [0..*]

 - Slice « INS-NIR »

 - Slice « INS-NIA »

 - Slice « INS-C »

- name[1..*].family : string [1..1] (FrHumanName)

- name[1..*].text : string [0..1] (FrHumanName)

- name[1..*].given : string [1..1] (FrHumanName)

Slice officialName, Patient.name.use prenant la valeur « official »)

- name[1..*].family : string [0..1] (FrHumanName)

- name[1..*].given : string [0..*] (FrHumanName)

Slice usualName, Patient.name.use prenant la valeur « usual »

- gender : code [1..1]

- birthDate : date [1..1]

- birthPlace : Extension(Address) [0..1]

Extension (BirthPlace)

adresseCorrespondance : [0..*] Adresse

Patient

FrPatient

address : FrAddress [0..*]
telecommunication : [0..*] Telecommunication

Patient

FrPatient

telecom : FrContactPoint [0..*]
PersonnePhysiquenomFamille : [0..1] Texte

Patient

FrPatient

name[1..*].family : string [0..1]

(FrHumanName)

Slice « usualName », Patient.name.use prenant la valeur « usual »

prenomUsuel : [0..1] Texte

Patient

FrPatient

name[1..*].given : string [0..*]

(FrHumanName)

Slice « usualName », Patient.name.use prenant la valeur « usual »

EquipementOperationnelidRessourceMaterielle : [1..1] Identifiant

Device

FrDevice

identifier : Identifier [0..*]
OrganisationInterne identifiantOI : [1..1] Identifiant

HealthcareService

FrHealthcareService

identifier : Identifier [0..*]
nom : [0..1] Texte

HealthcareService

FrHealthcareService

name : string [0..1]
telecommunication : [0..*] Telecommunication

HealthcareService

FrHealthcareService

telecom : FrContactPoint [0..*]
ContactidContact : [1..1] Identifiant

RelatedPerson

FrRelatedPerson

identifier : Identifier [1..1]
adresse : [0..1] Adresse

RelatedPerson

FrRelatedPerson

address : Address [0..*]
telecommunication : [0..*] Telecommunication

RelatedPerson

FrRelatedPerson

telecom : FrContactPoint [0..*]
PersonnePhysiquenomFamille : [0..*] Texte

RelatedPerson

FrRelatedPerson

name[0..*].family : string [0..1]

(FrHumanName)

prenomUsuel : [0..*] Texte

RelatedPerson

FrRelatedPerson

name[0..*].given : string [0..*]

(FrHumanName)

CreneauidCrenau : Identifiant [1..1]

Slot

FrSlot

identifier : Identifier [0..*]

peut préciser le degré d’urgence du rendez-vous en utilisant l’élément appointmentType et le jeu de valeurs proposé par le standard[^24] ou en attribuant une priorité au rendez-vous avec l’élément priority.

Mise en correspondance avec iCalendar

Cette annexe met en correspondance les composants et les propriétés iCalendar avec les ressources et les éléments FHIR de ce volet. Ceci est proposé dans le but de faciliter l’intégration de certains éléments dans les agendas personnels des utilisateurs.

VAVAILABILITY et AvailabilityTime

Le composant VAVAILABILITY définit une durée sur laquelle la ou les disponibilités de la ressource vont être décrites. Sur toute cette durée, la ressource est par défaut non disponible, et ce sont les sous-composants AVAILABILITY qui permettent de définir des plages de disponibilité, récursives ou non, sur cette période. Ci-dessous un schéma représentant les disponibilités d’une ressource sur la semaine de travail allant du 17/07/2017 au 21/07/2017. La première disponibilité, en rouge, est une disponibilité de 8h à 19h récurrente sur 4 jours. La deuxième disponibilité, en bleu, est une disponibilité simple de 8h à 13h le 21 juillet.

CI-SIS

Le sous-composant AVAILABILITY correspond à l’extension française AvailabilityTime de la ressource Schedule avec type = free. Le tableau suivant met en correspondance certaines propriétés du sous-composant AVAILABILITY avec les éléments de l’extension.

Propriété Type et cardinalités Paramètre Description Elément FHIR
UID TEXT 1..1   Identifiant unique du sous-composant availabilityTime.id
CREATED DATE-TIME 0..1   Date de création du sous-composant dans le calendrier availabilityTime.created
DTSTART DATE-TIME 1..1 (default)
DATE 1..1
VALUE = DATE-TIME / DATE La date/temps de début de la plage de disponibilité availabilityTime.start
RRULE RECUR 0..1   Règle de répétition de la plage de disponibilité AvailabilityTime.rrule
DTEND DATE-TIME 0..1 (default)
DATE 0..1
VALUE = DATE-TIME / DATE La date/temps de fin de la plage de disponibilité availabilityTime.end

VFREEBUSY et Slot

Ce composant regroupe les informations relatives à une demande concernant le temps libre/occupé d’une ressource ou une réponse à une demande concernant le temps libre/occupé d’une ressource.

Ce composant correspond à la ressource Slot. Le tableau suivant met en correspondance certaines propriétés du composant VFREEBUSY avec les éléments de la ressource.

Propriété Type et cardinalités Paramètre Description Elément FHIR
UID TEXT 1..1   Identifiant unique du composant identifier
DTSTART DATE-TIME 0..1 (default)
DATE 0..1
VALUE = DATE-TIME / DATE La date/temps de début du temps libre ou occupé décrit par le composant start
DTEND DATE-TIME 0..1 (default)
DATE 0..1
VALUE = DATE-TIME / DATE La date/temps de fin du temps libre ou occupé décrit par le composant end
ATTENDEE CAL-ADDRESS 0..* CN Identification de la ressource concernée par cette demande/description de temps libre/occupé schedule.actor
COMMENT TEXT 0..*   Un commentaire destiné à l’utilisateur qui va consulter le composant comment
FREEBUSY PERIOD 0..* FBTYPE = FREE / BUSY… Sous périodes de temps libre ou occupé décrites par le composant Status (mêmes codes)

VEVENT et Appointment

Ce composant regroupe les informations relatives à un évènement (un rendez-vous par exemple).

Lorsqu’il décrit un rendez-vous, ce composant correspond à la ressource Appointment.

Propriété Type et cardinalités Paramètre Description Elément FHIR
DTSTAMP DATE-TIME 1..1   Date à laquelle le composant a été créé  
UID TEXT 1..1   Identifiant unique du composant identifier
DTSTART DATE-TIME 0..1 (default)
DATE 0..1
VALUE = DATE-TIME / DATE La date/temps de début de l’évènement décrit par le composant start
CLASS TEXT 0..1
(PUBLIC / PRIVATE / CONFIDENTIAL)
  Définition de la classe d’accès au composant  
CREATED DATE-TIME 0..1   Date de création du composant dans le calendrier created
DESCRIPTION TEXT 0..1   Description complète du composant description
GEO FLOAT 0..1   Géolocalisation du lieu de l’évènement décrit par le composant  
LAST-MODIFIED DATE-TIME 0..1   Date de révision du composant  
LOCATION TEXT 0..1   Lieu de l’évènement décrit par le composant Participant de type Location
ORGANIZER CAL-ADDRESS 0..1 CN
DIR
SENT-BY
EMAIL
Identification de l’organisateur de l’évènement participant
PRIORITY INTEGER 0..1
[0..9]
  Priorité du composant priority
SEQUENCE INTEGER 0..1   Numéro séquentiel de la révision du composant  
STATUS TEXT 0..1
(TENTATIVE / CONFIRMED / CANCELLED)
  Statut de confirmation du composant Status
(proposed / pending / booked / arrived / fulfilled / cancelled / noshow / entered-in-error)
SUMMARY TEXT 0..1   Sujet ou résumé court du composant  
TRANSP TEXT 0..1
(OPAQUE / TRANSPARENT)
  Transparence de l’évènement par rapport à une demande de temps libre/occupé  
URL URI 0..1   URL associé à l’objet iCalendar  
RECURRENCE-ID DAT-TIME 0..1   Identification de la récurrence de l’évènement  
RRULE RECUR 0..1   Règle de répétition d’un évènement récurrent  
DTEND DATE-TIME 0..1 (default)
DATE 0..1
VALUE = DATE-TIME / DATE La date/temps de fin de l’évènement décrit par le composant end
DURATION DURATION 0..1   Durée de l’évènement minutesDuration
COLOR TEXT 0..1   Couleur associée à l’évènement  
ATTACH URI 0..*   Association d’un document au composant supportingInformation type Binary ou documentReference
ATTENDEE CAL-ADDRESS 0..* - ROLE
(CHAIR / REQ-PARTICIPANT / OPT-PARTICIPANT / NON-PARTICIPANT)
- PARTSTAT
(NEEDS-ACTION / ACCEPTED / DECLINED / TENTATIVE / DELEGATED)
- …
Identification des participants - Participant.required
(required / optional / information-only)
- participant.status
(accepted / declined / tentative / needs-action)
CATEGORIES TEXT 0..*   Définition des catégories auxquelles appartient le composant  
COMMENT TEXT 0..*   Un commentaire destiné à l’utilisateur qui va consulter le composant  
CONTACT TEXT 0..*   Informations de contact relatives au composant  
EXDATE DATE-TIME 0..*   Liste des exceptions d’un évènement récurrent  
REQUEST-STATUS TEXT 0..*   Code statut en réponse à une requête de planification  
RELATED-TO TEXT 0..*   Relation avec un autre composant  
RESOURCES TEXT 0..*   Ressource ou équipements requis pour l’évènement  
RDATE DATE-TIME 0..*   Liste des récurrences d’un évènement  
IMAGE URI 0..*
BINARY
  Images associées à l’évènement  
CONFERENCE URI 0..*   Informations d’accès à une conférence