Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion input/fsh/ResourcesCDAEntete/FrName.fsh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Profile: FrName
Parent: http://hl7.org/cda/stds/core/StructureDefinition/PN
Id: fr-core-name
Title: "CDA - "
Title: "CDA - Name "
Description: "L'élément de l'en-tête du CDA correspond au nom d'une personne physique."
* ^status = #draft
* item.delimiter 0..0
Expand Down
6 changes: 6 additions & 0 deletions input/fsh/RessourceFHIRCoprs/Invariants/FrVaccineCode.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/*
Invariant: FrVaccineCodeConstraint
Description: "Permet soit de ne pas renseigner vaccineCode, soit de renseigner un code ATC ou CIS dans les ressources : ImmunizationR et ImmunizationRecommendation"
Expression: "empty() or coding.exists(system = 'urn:oid:2.16.840.1.113883.6.73' or system = 'urn:oid:1.2.250.1.213.2.3.1')"
Severity: #warning
*/
13 changes: 13 additions & 0 deletions input/fsh/RessourceFHIRCoprs/codeSystem/FrCIS.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
CodeSystem: FrCIS
Id: fr-cis
Title: "CodeSystem CIS"
Description: "Codes CIS publiés par l'ANSM"
* ^url = "urn:oid:1.2.250.1.213.2.3.1"
* ^identifier.system = "urn:ietf:rfc:3986"
* ^identifier.value = "urn:oid:1.2.250.1.213.2.3.1"
* ^status = #active
* ^experimental = false
* ^caseSensitive = true
* ^content = #not-present
*/
21 changes: 21 additions & 0 deletions input/fsh/RessourceFHIRCoprs/extensions/FrActorExtension.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Extension: FrActorExtension
Id: fr-actor-extension
Title: "Extension - Actor"
Description: "Extension pour représenter un acteur impliqué dans le document avec son type et sa référence."

* extension contains
type 1..1 and
typeCode 0..1 and
reference 1..1

// Sous-extension type
* extension[type].value[x] only code
* extension[type].valueCode from FrValueSetActorType (required)
* extension[type] ^short = "Type d'acteur (AUT, PRF, PART, INF)"

* extension[typeCode].value[x] only CodeableConcept
* extension[typeCode] ^short = "Type de participation"

// Sous-extension reference
* extension[reference].value[x] only Reference(FrPractitionerRoleDocument or Device or FrDeviceDocument or FrOrganizationDocument or FrRelatedPersonDocument or FrPatientINSDocument or FrPatientDocument)
* extension[reference] ^short = "Référence vers le rôle du praticien dans le document"
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Fréquence d'administration : extension Timing
Extension: FrAdministrationFrequency
Id: fr-administration-frequency
Title: "Fr Fréquence d’administration"
Description: "Extension pour représenter la fréquence d'administration dans MedicationAdministration et MedicationStatement"
// Contextes autorisés
* ^context[+].type = #element
* ^context[=].expression = "MedicationAdministration"
* ^context[+].type = #element
* ^context[=].expression = "MedicationStatement"
* value[x] only Timing
* valueTiming 0..1
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Extension: FrAutresPrecisionExtension
Id: fr-autres-precision-extension
Title: "Fr Autres Precision"
Description: "Autres précision sur le trajet ou le transport du patient."
* ^context[+].type = #element
* ^context[=].expression = "Resource"
* value[x] only Reference(Observation)
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Extension: FrDispenserInstructionExtension
Id: fr-dispenser-instruction-extension
Title: "Fr Instructions au dispensateur"
Description: "Instructions au dispensateur : par exemple pour indiquer que le traitement doit être étiqueté dans une langue étrangère, etc …"
* ^context[+].type = #element
* ^context[=].expression = "Resource"
* value[x] only Annotation
* valueAnnotation 1..1
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Extension: FrDocumentReferenceExterneExtension
Id: fr-document-reference-externe-extension
Title: "Fr Document Reference Externe"
Description: "Document référencé"

* ^context[0].type = #element
* ^context[0].expression = "Resource"

* extension contains
identifier 1..1 and
url 0..1

* extension[identifier].valueIdentifier 1..1
* ^short = "Identifiant du document"
* extension[url].valueUrl 0..1
* ^short = "URL du document"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Extension: FrDoseAntigeneExtension
Id: fr-dose-antigene-extension
Title: "Fr Dose Antigene"
Description: "Extension complexe pour représenter un consommable (FrMedication) et une doseQuantity dans Immunization."
* ^status = #active
* ^context.type = #element
* ^context.expression = "Immunization"
* extension contains
doseQuantity 1..1 and
consumable 1..1
* extension[doseQuantity].valueQuantity
//* extension[consumable].valueReference 1..1
* extension[consumable].valueReference only Reference(FrMedicationDocument)
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Extension: FrEvenementCaracteristiqueExtension
Id: fr-evenement-caracteristique-extension
Title: "Fr Caractéristique de l'évènement"
Description: "Référence à une observation de type Fr-Simple-Observation représentant les caractéristiques de l'évènement."
* ^context[+].type = #element
* ^context[=].expression = "Encounter"

* valueReference only Reference(Observation)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Précondition : extension URL
Extension: FrPreconditionExtension
Id: fr-precondition-extension
Title: "Fr Précondition de l'administration"
Description: "Lien vers la description narrative des conditions préalables dans le document CDA."
* ^context.type = #element
* ^context.expression = "MedicationAdministration"
// or String ??
* value[x] only url or Annotation
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Extension: FrPrescriptionExtension
Id: fr-prescription-extension
Title: "Fr Prescription"
Description: "Instructions de prescription associées à l'administration du produit de santé."
* ^status = #active
* ^context.type = #element
* ^context.expression = "Resource"

// extension complexe
* extension contains
dosage 1..1 and
FrRepeatNumberExtension named repeatNumber 0..1 and
prescripteur 0..1 and
dispensateur 0..*

// dosage : Quantité + Instructions au dispensateur
* extension[dosage].value[x] only Dosage
* extension[dosage].value[x].text 1..1 MS
// Instructions au dispensateur / ou bien utiliser l'extension FrDispenserInstructionExtension
* extension[dosage].value[x].additionalInstruction 1..1 MS
* extension[dosage].value[x].additionalInstruction.text 1..1 MS
* extension[dosage].value[x].doseAndRate.doseQuantity MS
* extension[dosage].value[x].doseAndRate.doseQuantity ^short = "Quantité. L'unité est exprimée selon le système de codage UCUM."

// Utiliser des sous-extensions ou bien enregistrer le Prescripteur et Dispensateur dans FrVaccinationDocument et FrTraitement (performer.actor)

// Prescripteur
* extension[prescripteur].value[x] only Reference(Practitioner)

// Dispensateur
* extension[dispensateur].value[x] only Reference(Practitioner)
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Extension: FrProcedureFromLocation
Id: fr-procedure-from-location
Title: "Fr Lieu de départ du transport"
Description: "Extension pour représenter le lieu de départ d’un transport (patient ou professionnel)."

* extension contains
type 1..1 MS and
reference 1..1 MS

// Sous-extension "type" = code fixé depuis un ValueSet
* extension[type].value[x] only CodeableConcept
* extension[type].valueCodeableConcept from http://smt.esante.gouv.fr/fhir/ValueSet/jdv-hl7-v3-ParticipationType-cisis (required)
* extension[type].valueCodeableConcept.coding.code = #ORG

// Sous-extension "reference" = référence vers Location
* extension[reference].value[x] only Reference(FrLocationDocument)
16 changes: 16 additions & 0 deletions input/fsh/RessourceFHIRCoprs/extensions/FrProcedureToLocation.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Extension: FrProceduretoLocation
Id: fr-procedure-to-location
Title: "Fr Lieu de départ du transport"
Description: "Extension pour représenter le lieu de destination d’un transport (patient ou professionnel)."

* extension contains
type 1..1 MS and
reference 1..1 MS

// Sous-extension "type" = code fixé depuis un ValueSet
* extension[type].value[x] only CodeableConcept
* extension[type].valueCodeableConcept from http://smt.esante.gouv.fr/fhir/ValueSet/jdv-hl7-v3-ParticipationType-cisis (required)
* extension[type].valueCodeableConcept.coding.code = #DST

// Sous-extension "reference" = référence vers Location
* extension[reference].value[x] only Reference(FrLocationDocument)
17 changes: 17 additions & 0 deletions input/fsh/RessourceFHIRCoprs/extensions/FrQualifierExtension.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Extension: FrQualifierExtension
Id: fr-qualifier-extension
Title: "Qualifier du code"

* ^context.type = #element
* ^context.expression = "Coding"

// Sous-extensions
* extension contains
name 0..1 and
value 0..1

* extension[name].value[x] only CodeableConcept
* extension[name] ^short = "Type de précision"

* extension[value].value[x] only CodeableConcept
* extension[value] ^short = "Valeur de la précision du code"
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

Extension: FrReferenceInterneExtension
Id: fr-reference-interne-extension
Title: "Fr Reference Interne"
Description: "Liens vers les pièces jointes."
* ^context[+].type = #element
* ^context[=].expression = "Resource"

* value[x] only url
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Extension: FrRepeatNumberExtension
Id: fr-repeat-number-extension
Title: "Fr Repeat Number"
Description: "Numéro d'occurrence de l'acte ou de l'observation (équivalent CDA repeatNumber)"
* ^context[+].type = #element
* ^context[=].expression = "Resource"

* value[x] only integer
* valueInteger 0..1
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Extension: FrSequenceExtension
Id: fr-sequence-extension
Title: "Fr Sequence"
Description: "Dosages progressifs et fractionnés"
* ^context[+].type = #element
* ^context[=].expression = "MedicationAdministration"

* value[x] only integer
* valueInteger 0..1
10 changes: 10 additions & 0 deletions input/fsh/RessourceFHIRCoprs/extensions/FrTranslationExtension.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// --- Extension FrTranslation ---
Extension: FrTranslationExtension
Id: fr-translation-extension
Title: "Fr Translation"
Description: "Extension utilisée pour représenter d'autres codifications sous forme de CodeableConcept"
* ^context[+].type = #element
* ^context[=].expression = "MedicationAdministration"

* value[x] only CodeableConcept
* valueCodeableConcept 1..1
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Extension: FrVaccinationTypeExtension
Id: fr-vaccination-type-extension
Title: "Fr Vaccination Type"
Description: "Extension représentant le type de vaccination (ex: INITIMMUNIZ, BOOSTER, IMMUNIZ), équivalent au code de l'entrée CDA FR-Vaccination."
* ^context.type = #element
* ^context.expression = "Immunization"

* value[x] only CodeableConcept
* valueCodeableConcept 1..1
* valueCodeableConcept from FrValueSetVaccinationType (required)
26 changes: 26 additions & 0 deletions input/fsh/RessourceFHIRCoprs/profils/FrCarePlanDocument.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// StructureDefinition for FrCarePlanDocument
Profile: FrCarePlanDocument
Parent: CarePlan
Id: fr-care-plan-document
Title: "CarePlan - Fr Reference item plan traitement"
Description: "Cette entrée permet d’enregistrer une référence à un traitement dans un plan de traitement."

//* ^extension[$imposeProfile].valueCanonical = Canonical()

* identifier 1..* MS
* ^short = "Identifiant de la ligne de traitement dans un plan de traitement."
* category 1..1 MS
* ^short = "Code de l’entrée.
- Code indiquant que la référence est une ligne de traitement dans un plan de traitement"
* category.coding 1..1
* category.coding.system = "urn:1.3.6.1.4.1.19376.1.9.2.2"
* category.coding.code = #IHEPharmacyItemTypeList
* category.coding.display = "Ligne dans un plan de traitement"
* activity.detail.product[x] MS
* activity.detail.product[x] only CodeableConcept or Reference(FrMedicationDocument or FrMedicationsCombinaisonDocument)
* ^short = "Produit de santé"
* author MS
//Item d'un plan de traitement. Copie non modifiée de la ligne de traitement référencée
// Chaque activity doit référencer un MedicationRequest (ligne de traitement)
* activity.reference MS
* activity.reference only Reference(FrMedicationRequestDocument)
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// StructureDefinition for FrDiagnosticReportDocument
Profile: FrDiagnosticReportDocument
Parent: DiagnosticReport
Id: fr-diagnostic-report-document
Title: "DiagnosticReport - Fr Resultats"
Description: "
- L'entrée 'FR-Resultats' est une entrée de type 'organizer' regroupant les types des résultats classés par type d’examens (BIO, IMG, etc…).
- L'entrée 'FR-Resultats' est une entrée de type 'organizer' regroupant les types des résultats classés par type d’examens (BIO, IMG, etc…).
"
//* ^extension[$imposeProfile].valueCanonical = Canonical()
* identifier 1..1 MS
* identifier ^short = "Identifiant de l'entrée"
* code MS
* ^short = "Type de résultat. Code de l'entrée en LOINC."
* code from FrValueSetTypeResultat (required)
* status MS
* status ^short = "Statut de l'entrée"
* status = #final
* effective[x] 1..1 MS
* effective[x] only dateTime
* ^short = "Date"
* performer MS
* ^short = "Exécutant"
* performer.extension contains $performerFunction named performerFunction 1..1
* performer.extension[performerFunction] 1..1
* performer.extension[performerFunction].valueCodeableConcept.coding.code = #PPRF "primary performe" (exactly)
* performer only Reference (FrPractitionerDocument or FrPractitionerRoleDocument or FrOrganizationDocument)

* resultsInterpreter MS
* ^short = "Auteur"
* resultsInterpreter.extension contains $performerFunction named performerFunction 1..1
* resultsInterpreter.extension[performerFunction] 1..1
* resultsInterpreter.extension[performerFunction].valueCodeableConcept.coding.code = #AUT "author (originator)" (exactly)
* resultsInterpreter only Reference (FrPractitionerDocument or FrPractitionerRoleDocument or FrOrganizationDocument)
* result 1..* MS
* ^short = "Resultat"
* result only Reference (FrObservationResultatDocument)
Loading
Loading