Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sd add new version annuaire #346

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from
8 changes: 4 additions & 4 deletions input/fsh/aliases.fsh
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
//Extensions
Alias: $practitionerRole-name = https://apifhir.annuaire.sante.fr/ws-sync/exposed/structuredefinition/practitionerRole-name
//Alias: $practitionerRole-name = https://apifhir.annuaire.sante.fr/ws-sync/exposed/structuredefinition/practitionerRole-name
Alias: $FrHumanName = http://www.interopsante.org/fhir/structuredefinition/datatype/fr-human-name
Alias: $practitionerRole-contracted = https://apifhir.annuaire.sante.fr/ws-sync/exposed/structuredefinition/practitionerRole-contracted
Alias: $practitionerRole-vitaleAccepted = https://apifhir.annuaire.sante.fr/ws-sync/exposed/structuredefinition/practitionerRole-vitaleAccepted
Alias: $practitionerRole-hasCAS = https://apifhir.annuaire.sante.fr/ws-sync/exposed/structuredefinition/practitionerRole-hasCAS
Alias: $practitionerRole-contracted = https://interop.esante.gouv.fr/ig/fhir/annuaire/StructureDefinition/as-ext-practitionerrole-contracted
Alias: $practitionerRole-vitaleAccepted = https://interop.esante.gouv.fr/ig/fhir/annuaire/StructureDefinition/as-ext-practitionerrole-vitale-accepted
Alias: $practitionerRole-hasCAS = https://interop.esante.gouv.fr/ig/fhir/annuaire/StructureDefinition/as-ext-practitionerrole-hascas
Alias: $geolocation = http://hl7.org/fhir/StructureDefinition/geolocation

//TRE / Codesystem
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/profiles/RORHealthcareService.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Profile: RORHealthcareService
Parent: HealthcareService
Parent: fr-core-healthcare-service
Id: ror-healthcareservice
Description: "Profil créé dans le cadre du ROR pour décrire les prestations que peut réaliser une structure et qui permettent de répondre au besoin de santé d'une personne"

Expand All @@ -20,7 +20,7 @@ Description: "Profil créé dans le cadre du ROR pour décrire les prestations q
* name ^short = "nomOffre (OffreOpérationnelle) : Dénomination sous laquelle l'offre est identifiée par le porteur d'offre"
* name MS
* providedBy MS
* providedBy only Reference(fr-organization or ROROrganization)
* providedBy only Reference(as-organization or ROROrganization)
* location MS
* category 0..1 MS
* category ^short = "typeOffre (OffreOperationnelle) : Permet de distinguer les offres et de les classer en fonction de leur nature particulière"
Expand All @@ -29,7 +29,7 @@ Description: "Profil créé dans le cadre du ROR pour décrire les prestations q
* type ^short = "champActivite (OffreOperationnelle) : Domaine dans lequel s'inscrit l'offre"
* type from $JDV-J20-ChampActivite-ROR (required)
* comment ^short = "commentaire (Metadonnee) : Commentaire qui peut être associé à chaque objet"
* location only Reference(Location or RORLocation)
* location only Reference(fr-core-location or RORLocation)

* availableTime MS
* availableTime ^short = "horaire (OffreOperationnelle) : heureDebut + heureFin"
Expand Down Expand Up @@ -64,7 +64,7 @@ Description: "Profil créé dans le cadre du ROR pour décrire les prestations q
* telecom.extension[ror-telecom-usage] ^short = "utilisation (Telecommunication) : Utilisation du canal de communication"
* telecom.extension[ror-telecom-confidentiality-level] ^short = "niveauConfidentialite (Telecommunication) : Niveau de restriction de l'accès aux attributs de la classe Télécommunication"

* coverageArea only Reference(Location or RORLocation)
* coverageArea only Reference(fr-core-location or RORLocation)
* characteristic 1..* MS

* characteristic.extension ^slicing.discriminator.type = #value
Expand Down
10 changes: 7 additions & 3 deletions input/fsh/profiles/RORLocation.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Profile: RORLocation
Parent: Location
Parent: fr-core-location
Id: ror-location
Description: "Profil créé dans le cadre du ROR pour décrire l'espace disposant d'un ensemble de ressources pour réaliser une offre."

Expand All @@ -23,13 +23,13 @@ Description: "Profil créé dans le cadre du ROR pour décrire l'espace disposan
* type ^short = "fonctionLieu (LieuRealisationOffre) : La fonction correspond à la destination d'usage du lieu"
* type from $JDV-J198-FonctionLieu-ROR (required)
* managingOrganization MS
* managingOrganization only Reference(fr-organization or ROROrganization)
* managingOrganization only Reference(as-organization or ROROrganization)
* operationalStatus MS
* operationalStatus ^short = "statut (LieuRealisationOffre) : Indique si le lieu est opérationnel, fermé temporairement ou fermé définitivement"
* operationalStatus from $JDV-J224-StatutLieu-ROR (required)

* partOf MS
* partOf only Reference(Location or RORLocation)
* partOf only Reference(fr-core-location or RORLocation)

* identifier MS
* identifier ^slicing.discriminator.type = #value
Expand Down Expand Up @@ -101,6 +101,10 @@ Description: "Profil créé dans le cadre du ROR pour décrire l'espace disposan
* position.extension contains RORCoordinateReliability named ror-coordinate-reliability 0..1 MS
* position.extension[ror-coordinate-reliability] ^short = "coordonneesFiables (CoordonneeGeographique) : Permet de signaler si les informations des coordonnées géographiques sont issues d'un mode de production qui assure un certain niveau de fiabilité"

* managingOrganization only Reference(as-organization or ROROrganization)
* partOf only Reference(fr-core-location or RORLocation)


* extension ^slicing.discriminator.type = #value
* extension ^slicing.discriminator.path = "url"
* extension ^slicing.rules = #open
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/profiles/RORMeasureReport.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Description: "Valeur pour un indicateur de pilotage du ROR National"
* type ^short = "Type de mesure" // utilisation du valueSet http://hl7.org/fhir/R4/valueset-measure-report-type.html (Required)
* measure MS
* measure ^short = "L'indicateur de pilotage du ROR National calculé"
* subject only Reference(RORPractitioner or RORPractitionerRole or RORLocation)
* reporter only Reference(RORPractitioner or RORPractitionerRole or RORLocation or ROROrganization)
* subject only Reference(RORPractitioner or RORPractitionerRole or RORLocation or fr-core-location or as-practitioner)
* reporter only Reference(RORPractitioner or RORPractitionerRole or RORLocation or ROROrganization or as-organization or fr-core-location or as-practitioner)
* date 1..1 MS
* date ^short = "Date de la mesure"
* period MS
Expand Down
108 changes: 56 additions & 52 deletions input/fsh/profiles/ROROrganization.fsh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Profile: ROROrganization
Parent: fr-organization
Parent: as-organization
Id: ror-organization
Description: "Profil créé dans le cadre du ROR pour décrire les organismes du domaine sanitaire, médico-social et social immatriculés dans le FINESS et les organisations internes"

/* Références*/
* partOf only Reference(fr-organization or ROROrganization)
* partOf only Reference(as-organization or ROROrganization)
* partOf MS

/* Données techniques */
Expand Down Expand Up @@ -33,68 +33,73 @@ Description: "Profil créé dans le cadre du ROR pour décrire les organismes du
* alias ^short = "nomOperationnel (EG) : l’appellation communément utilisée par les acteurs de santé pour désigner l'entité géographique"

* identifier MS
* identifier ^slicing.discriminator.type = #value
* identifier ^slicing.discriminator.path = "type.coding.code"
* identifier ^slicing.rules = #open
* identifier contains
idNatSt 0..1 MS and
finess 0..1 MS and
sirene 0..1 MS and
rppsRang 0..1 MS and
numSIRET 0..1 MS and
identifierOI 0..1 MS and
adeliRang 0..1 MS

* identifier[idNatSt] MS
* identifier[idNatSt] ^short = "idNatstruct (EJ + EG) : Identification nationale définie dans le CI-SIS"
* identifier[idNatSt].type 1..1 MS
* identifier[idNatSt].type = $TRE-G07-TypeIdentifiantStructure#40
* identifier[idNatSt].system = "urn:oid:1.2.250.1.71.4.2.2"
//* identifier[idNatSt].type = $TRE-G07-TypeIdentifiantStructure#40
//* identifier[idNatSt].system = "urn:oid:1.2.250.1.71.4.2.2"

* identifier[finess] 0..1 MS
* identifier[finess] ^short = "numFINESS (EJ + EG) : Numéro FINESS"
* identifier[finess].type 1..1 MS
* identifier[finess].type = $TRE-G07-TypeIdentifiantStructure#1
* identifier[finess].system = "https://finess.esante.gouv.fr"
//* identifier[finess].type = $TRE-G07-TypeIdentifiantStructure#1
//* identifier[finess].system = "http://finess.esante.gouv.fr"

* identifier[sirene] 0..1 MS
* identifier[sirene] ^short = "numSIREN (EJ) : numéro unique d'identification attribué à chaque entreprise par l'INSEE"
* identifier[sirene].type 1..1 MS
* identifier[sirene].type = $TRE-G07-TypeIdentifiantStructure#2
* identifier[sirene].system = "https://sirene.fr"
//* identifier[sirene].type = $TRE-G07-TypeIdentifiantStructure#2
//* identifier[sirene].system = "http://sirene.fr"

* identifier[rppsRang] 0..1 MS
* identifier[rppsRang] ^short = "numEJ_RPPS_ADELI_Rang ou numEG_RPPS_ADELI_Rang"
* identifier[rppsRang].type 1..1 MS
* identifier[rppsRang].type = $TRE-G07-TypeIdentifiantStructure#4
* identifier[rppsRang].system = "https://rppsrang.esante.gouv.fr"
//* identifier[rppsRang].type = $TRE-G07-TypeIdentifiantStructure#4
//* identifier[rppsRang].system = "http://rppsrang.esante.gouv.fr"

* identifier[adeliRang] 0..1 MS
* identifier[adeliRang] ^short = "numEJ_RPPS_ADELI_Rang ou numEG_RPPS_ADELI_Rang"
* identifier[adeliRang].type 1..1 MS
//* identifier[adeliRang].type = $TRE-G07-TypeIdentifiantStructure#0
//* identifier[adeliRang].system = "http://adelirang.esante.gouv.fr"

/** identifier ^slicing.discriminator.type = #pattern
* identifier ^slicing.discriminator.path = "system"
* identifier ^slicing.rules = #open
* identifier ^slicing.description = "slice de la slice héritée pour répondre au cas d'usage du ROR"*/
* identifier contains
numSIRET 0..1 MS and
identifierOI 0..1 MS

* identifier[numSIRET] ^short = "numSIRET (EG) : numéro unique d'identification, attribué par l'INSEE, à chaque entité géographique"
* identifier[numSIRET].type 1..1 MS
* identifier[numSIRET].type = $TRE-G07-TypeIdentifiantStructure#3
* identifier[numSIRET].system = "https://sirene.fr"
* identifier[numSIRET].system = "http://sirene.fr"
* identifier[numSIRET].system ^short = "https://mos.esante.gouv.fr/6.html#_4d544200-4d26-4cc5-8294-c862458f60d8"

* identifier[identifierOI] ^short = "identifiantOI (OI) : Identifiant de l'organisation interne, unique et persistant au niveau national"
* identifier[identifierOI].type 1..1 MS
* identifier[identifierOI].type = $TRE-R345-TypeIdentifiantAutre#42
* identifier[identifierOI].system = "https://oi.esante.gouv.fr"

* identifier[adeliRang] ^short = "numEJ_RPPS_ADELI_Rang ou numEG_RPPS_ADELI_Rang"
* identifier[adeliRang].type 1..1 MS
* identifier[adeliRang].type = $TRE-G07-TypeIdentifiantStructure#0
* identifier[adeliRang].system = "https://adelirang.esante.gouv.fr"

// Slice déjà définie dans FrOrganization

* type MS
* type contains
statutJuridiqueINSEE 0..1 MS and
//statutJuridiqueINSEE 0..1 MS and
sousEnsembleAgregatStatutJuridique 0..1 MS and
categorieEtablissement 0..1 MS and
sphParticipation 0..1 MS and
//sphParticipation 0..1 MS and
OIType 0..1 MS
* type[statutJuridiqueINSEE] ^short = "statutJuridique (EJ) : Situation juridique de l’établissement"
* type[statutJuridiqueINSEE] MS
* type[statutJuridiqueINSEE] from $JDV-J199-StatutJuridique-ROR (required)
* type[sousEnsembleAgregatStatutJuridique] ^short = "sousEnsembleAgregatStatutJuridique (EJ) : Deuxième niveau dans l’arborescence des statuts juridiques"
* type[sousEnsembleAgregatStatutJuridique] from $JDV-J200-SousEnsembleAgregatStatutJuridique-ROR (required)
* type[categorieEtablissement] ^short = "categorieEG (EG) : Cadre réglementaire dans lequel s'exerce l'activité de l'entité géographique"
* type[categorieEtablissement] from $JDV-J55-CategorieEG-ROR (required)
* type[sphParticipation] ^short = "modaliteParticipationSPH (EG) : Modalités de participation au service public hospitalier"
* type[sphParticipation] MS
* type[sphParticipation] from $JDV-J202-ESPIC-ROR (required)
* type[OIType] ^short = "typeOI (OI) : Type d'organisation interne"
* type[OIType] from $JDV-J203-TypeOrganisationInterne-ROR (required)
Expand Down Expand Up @@ -139,24 +144,24 @@ Description: "Profil créé dans le cadre du ROR pour décrire les organismes du
* address.extension[ror-organization-geolocation] ^short = "extension pour définir les données de géolocalisation de l'EG"
* address.extension[ror-organization-geolocation].extension contains
RORConfidenceGeolocation named ror-confidence-geolocation 0..1 MS
* address.line.extension contains
iso21090-ADXP-careOf named careOf 0..1 MS and
iso21090-ADXP-additionalLocator named additionalLocator 0..1 MS and
iso21090-ADXP-houseNumber named houseNumber 0..1 MS and
iso21090-ADXP-buildingNumberSuffix named buildingNumberSuffix 0..1 MS and
iso21090-ADXP-streetNameType named streetNameType 0..1 MS and
iso21090-ADXP-postBox named postalBox 0..1 MS and
iso21090-ADXP-streetNameBase named streetNameBase 0..1 MS and
as-ext-lieu-dit named lieuDit 0..1 MS
* address.line.extension[careOf] ^short = "pointRemise (Adresse)"
* address.line.extension[additionalLocator] ^short = "complementPointGeographique (Adresse)"
* address.line.extension[houseNumber] ^short = "numeroVoie(Adresse)"
* address.line.extension[buildingNumberSuffix] ^short = "(Adresse)"
* address.line.extension[streetNameType] ^short = "typeVoie (Adresse)"
* address.line.extension[streetNameType].valueString from $JDV-J219-TypeVoie-ROR (required)
* address.line.extension[postalBox] ^short = "mentionDistribution (Adresse)"
* address.line.extension[streetNameBase] ^short = "libelleVoie (Adresse)"
* address.line.extension[lieuDit] ^short = "lieuDit (Adresse)"
//* address.line.extension contains
//iso21090-ADXP-careOf named careOf 0..1 MS and
//iso21090-ADXP-additionalLocator named additionalLocator 0..1 MS and
//iso21090-ADXP-houseNumber named houseNumber 0..1 MS and
//iso21090-ADXP-buildingNumberSuffix named buildingNumberSuffix 0..1 MS and
//iso21090-ADXP-streetNameType named streetNameType 0..1 MS and
//iso21090-ADXP-postBox named postalBox 0..1 MS
//iso21090-ADXP-streetNameBase named streetNameBase 0..1 MS and
//as-ext-lieu-dit named lieuDit 0..1 MS
* address.line.extension[careOf] MS
* address.line.extension[additionalLocator] MS
* address.line.extension[houseNumber] MS
* address.line.extension[buildingNumberSuffix] MS
* address.line.extension[streetNameType] MS
//* address.line.extension[streetNameType].valueString from $JDV-J219-TypeVoie-ROR (required)
* address.line.extension[postBox] MS
* address.line.extension[streetNameBase] MS
* address.line.extension[lieuDit] MS


* telecom MS
Expand Down Expand Up @@ -210,7 +215,7 @@ Description: "Profil créé dans le cadre du ROR pour décrire les organismes du
* extension[ror-meta-comment] ^short = "commentaire (Metadonnee)"
* extension[ror-meta-creation-date] ^short = "dateCreation (Metadonnee)"
* extension[ror-organization-comment] ^short = "commentaire (EG) : Commentaire qui permet à la structure de donner des informations complémentaires"
/*

Mapping: ConceptMetier_ROROrganization_EJ
Source: ROROrganization
Id: specmetier-to-ROROrganization-ej
Expand Down Expand Up @@ -323,11 +328,11 @@ Profil 0"
Profil 2,
Profil 3,
Profil 0"
* address.line.extension[precinct].valueString -> "lieuDit" "Profil 1,
* address.line.extension[lieuDit].valueString -> "lieuDit" "Profil 1,
Profil 2,
Profil 3,
Profil 0"
* address.line.extension[postalBox].valueString -> "mentionDistribution" "Profil 1,
* address.line.extension[postBox].valueString -> "mentionDistribution" "Profil 1,
Profil 2,
Profil 3,
Profil 0"
Expand Down Expand Up @@ -482,4 +487,3 @@ Profil 0"

* extension[organization-period].valuePeriod.end -> "dateOuverture"
* extension[organization-period].valuePeriod.end -> "dateFermeture"
*/
11 changes: 7 additions & 4 deletions input/fsh/profiles/RORPractitioner.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Profile: RORPractitioner
Parent: Practitioner
Parent: as-practitioner
Id: ror-practitioner
Description: "Profil créée dans le cadre du ROR pour décrire les données d'identification pérennes d’une personne physique, qui travaille en tant que professionnel"

Expand All @@ -19,9 +19,12 @@ Description: "Profil créée dans le cadre du ROR pour décrire les données d'i
* name.prefix 0..1 MS
* name.prefix from $JDV-J207-Civilite-ROR (extensible)
* name.prefix ^short = "Civilite (PersonnePhysique) : Civilite de la personne physique"
* identifier 1..1 MS
/** identifier 1..1 MS
* identifier ^short = "idNat_PS (Professionnel) : Identification nationale du professionnel définie par le CI-SIS"
* identifier.system = "urn:oid:1.2.250.1.71.4.2.1" //voir issue https://github.com/ansforge/IG-fhir-repertoire-offre-ressources-sante/issues/100
* identifier.system = "urn:oid:1.2.250.1.71.4.2.1" //voir issue https://github.com/ansforge/IG-fhir-repertoire-offre-ressources-sante/issues/100*/
* identifier[idNatPs] 1..1 MS // à voir si besoin fonctionnel de mettre 0..0 sur les autres slices héritées RPPS et ADELI ou de les autoriser dans le cadre du ROR
* identifier[rpps] 0..0
* identifier[adeli] 0..0

* telecom MS
* telecom ^short = "boiteLettreMSS (Professionnel) : Boîte(s) aux lettres du service de messagerie sécurisée de santé (MSS) rattachée(s) au professionnel"
Expand All @@ -38,7 +41,7 @@ Description: "Profil créée dans le cadre du ROR pour décrire les données d'i
* telecom.extension[ror-telecom-usage] ^short = "utilisation (Telecommunication) : Utilisation du canal de communication"
* telecom.extension[ror-telecom-confidentiality-level] ^short = "niveauConfidentialite (Telecommunication) : niveau de restriction de l'accès aux attributs de la classe Télécommunication"

* qualification.issuer only Reference(fr-organization or ROROrganization)
* qualification.issuer only Reference(as-organization or ROROrganization)

* extension ^slicing.discriminator.type = #value
* extension ^slicing.discriminator.path = "url"
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/profiles/RORPractitionerRole.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Description: "Profil créé dans le cadre du ROR pour décrire les modalités d'
/* Données fonctionnelles */
* identifier 0..1 MS
* identifier ^short = "identifiantSituationOperationnelle (SituationOperationnelle) : Identifiant de la situation opérationnelle, unique et persistant au niveau national"
* practitioner only Reference(Practitioner or RORPractitioner)
* organization only Reference(fr-organization or ROROrganization)
* practitioner only Reference(as-practitioner or RORPractitioner)
* organization only Reference(as-organization or ROROrganization)
* code 1..1 MS

* code ^short = "profession (ExerciceProfessionnel) : Profession exercée ou future profession de l'étudiant"
Expand Down Expand Up @@ -98,8 +98,8 @@ Description: "Profil créé dans le cadre du ROR pour décrire les modalités d'
* specialty[specificCompetence] ^short = "competenceSpecifique (SituationOperationnelle) : Capacité ou connaissance reconnue qui permet ou facilite l’accueil d’une personne"
* specialty[specificCompetence] from $JDV-J33-CompetenceSpecifique-ROR (required)

* location only Reference(Location or RORLocation)
* healthcareService only Reference(HealthcareService or RORHealthcareService)
* location only Reference(fr-core-location or RORLocation)
* healthcareService only Reference(fr-core-healthcare-service or RORHealthcareService)

* extension ^slicing.discriminator.type = #value
* extension ^slicing.discriminator.path = "url"
Expand Down
Loading
Loading