Skip to content
Open
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 ig.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# see comments below for instructions

ig = fsh-generated/resources/ImplementationGuide-ans.fr.document-core.json
template = https://github.com/ansforge/IG-template/tree/nr-remove-js-template
template = ans.fr.template#current
#template = https://github.com/ansforge/IG-template/tree/for-comment-template #Usage to be discussed
#template = #local-template

Expand Down
Empty file.
49 changes: 0 additions & 49 deletions input/fsh/CodeSystems/CS_Competence.fsh

This file was deleted.

10 changes: 0 additions & 10 deletions input/fsh/CodeSystems/CS_TypeCarte.fsh

This file was deleted.

11 changes: 0 additions & 11 deletions input/fsh/Examples/FrPatient-exemple.fsh

This file was deleted.

Empty file removed input/fsh/Extensions/.gitkeep
Empty file.
Empty file removed input/fsh/Logicals/.gitkeep
Empty file.
60 changes: 60 additions & 0 deletions input/fsh/MappingCDA_FHIR_Entete/AuteurCDAFHIR.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
Instance: mappingAuteurCDAFHIR
InstanceOf: ConceptMap
Usage: #definition
Title: "Mapping Métier/CDA/FHIR : \"Auteur\""
Description: """Ce ConceptMap présente deux groupes de mapping :
- Mapping 1 : entre le modèle métier \"Auteur\" et l'élément CDA \"author\"
- Mapping 2 : entre l'élément CDA \"author\" et l'élément FHIR \"Composition.author\" """

* name = "Mapping Métier/CDA/FHIR : \"Auteur\""
* status = #draft
* experimental = false

// Groupe Mapping 1 : modèle métier to CDA
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-lm-auteur"
* group[=].target = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-author"
* group[=].element[+].code = #FRLMAuteur
* group[=].element[=].target.code = #author
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMAuteur.roleFonctionnel
* group[=].element[=].target.code = #author.functionCode
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMAuteur.horodatageParticipation
* group[=].element[=].target.code = #author.time
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMAuteur.FRLMPersonneStructure
* group[=].element[=].target.code = #author.assignedAuthor
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "L'élément PersonneStructure est de type PersonneStructure."
* group[=].element[+].code = #FRLMAuteur.FRLMSystemeStructureAuteur
* group[=].element[=].target.code = #author.assignedAuthor
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "L'élément SystemeStructureAuteur est de type Systeme"

// Groupe Mapping 2 : CDA to FHIR
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-author"
* group[=].target = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-composition-document"
* group[=].element[+].code = #author
* group[=].element[=].target.code = #Composition.author
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #author.time
* group[=].element[=].target.code = #Composition.author.extension:time
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #author.functionCode
* group[=].element[=].target.code = #Composition.author.PractitionerRole.code
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "Auteur du document est un professionnel et author.ofType(PractitionerRole)"
// Auteur : Professionnel ou Patient
* group[=].element[+].code = #author.assignedAuthor
* group[=].element[=].target.code = #Composition.author.Practitioner
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "Composition.author.resolve().ofType(Practitioner)"
* group[=].element[+].code = #author.assignedAuthor
* group[=].element[=].target.code = #Composition.author.Patient
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "Composition.author.resolve().ofType(Patient)"
// Auteur : Systeme
* group[=].element[+].code = #author.assignedAuthor
* group[=].element[=].target.code = #Composition.author.Device
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "Composition.author.resolve().ofType(Device)"
44 changes: 44 additions & 0 deletions input/fsh/MappingCDA_FHIR_Entete/ConsentementCDAFHIR.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Instance: mappingConsentementCDAFHIR
InstanceOf: ConceptMap
Usage: #definition
Title: "Mapping Métier/CDA/FHIR : \"Consentement\""
Description: """Ce ConceptMap présente deux groupes de mapping :
- Mapping 1 : entre le modèle métier \"ConsentementAssocie\" et l'élément CDA \"authorization\"
- Mapping 2 : entre l'élément CDA \"authorization\" et l'extension FHIR \"ConsentExtension\" """

* name = "Mapping Métier/CDA/FHIR : \"Consentement\""
* status = #draft
* experimental = false

// Groupe Mapping 1 : modèle métier to CDA
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-lm-consentement"
* group[=].target = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-authorization"
* group[=].element[+].code = #FRLMConsentement
* group[=].element[=].target.code = #authorization
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMConsentement.identifiantConsentement
* group[=].element[=].target.code = #authorization.consent.id
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMConsentement.typeConsentement
* group[=].element[=].target.code = #authorization.consent.code
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMConsentement.statutConsentement
* group[=].element[=].target.code = #authorization.consent.statusCode="completed"
* group[=].element[=].target.equivalence = #equivalent

// Groupe Mapping 2 : CDA to FHIR
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-authorization"
* group[=].target = "http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/consent-extension"
* group[=].element[+].code = #authorization
* group[=].element[=].target.code = #extension:ConsentExtension.ValueReference.Consent
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "ValueReference.resolve().ofType(Consent)"
* group[=].element[+].code = #authorization.consent.id
* group[=].element[=].target.code = #extension:ConsentExtension.ValueReference.Consent.identifier
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #authorization.consent.code
* group[=].element[=].target.code = #extension:ConsentExtension.ValueReference.Consent.category
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #authorization.consent.statusCode="completed"
* group[=].element[=].target.code = #extension:ConsentExtension.ValueReference.Consent.status:active
* group[=].element[=].target.equivalence = #equivalent
71 changes: 71 additions & 0 deletions input/fsh/MappingCDA_FHIR_Entete/DestinataireCDAFHIR.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
Instance: mappingDestinatairePrevuCDAFHIR
InstanceOf: ConceptMap
Usage: #definition
Title: "Mapping Métier/CDA/FHIR : \"Destinataire prévu\""
Description: """Ce ConceptMap présente deux groupes de mapping :
- Mapping 1 : entre le modèle métier \"destinataire\" et l'élément CDA \"informationRecipient\"
- Mapping 2 : entre l'élément CDA \"informationRecipient\" et l'extension FHIR \"InformationRecipientExtension\" """

* name = "Mapping Métier/CDA/FHIR : \"Destinataire prévu\""
* status = #draft
* experimental = false

// Groupe Mapping 1 : modèle métier to CDA
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-lm-destinataire-prevu"
* group[=].target = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-information-recipient"
* group[=].element[+].code = #FRLMDestinatairePrevu
* group[=].element[=].target.code = #informationRecipient
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMDestinatairePrevu.destinataire
* group[=].element[=].target.code = #informationRecipient.intendedRecipient
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[=].target.comment = "L'élément destinataire est de type PersonneStructure."

// Groupe Mapping 2 : CDA to FHIR
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-information-recipient"
* group[=].target = "http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/information-recipient-extension"
* group[=].element[+].code = #informationRecipient
* group[=].element[=].target.code = #extension:InformationRecipientExtension
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient
* group[=].element[=].target.code = #extension:InformationRecipientExtension.extension:party.PractitionerRole
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.id
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.identifier
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.addr
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.address
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.telecom
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.telecom
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.name
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.name
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.name.family
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.name.family
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.name.given
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.name.given
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.name.prefix
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.name.prefix
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.name.suffix
* group[=].element[=].target.code = #extension:party.PractitionerRole.Practitioner.name.suffix
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.receivedOrganization
* group[=].element[=].target.code = #extension:party.PractitionerRole.Organization
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.receivedOrganization.id
* group[=].element[=].target.code = #extension:party.PractitionerRole.Organization.identifier
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.receivedOrganization.name
* group[=].element[=].target.code = #extension:party.PractitionerRole.Organization.name
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.receivedOrganization.telecom
* group[=].element[=].target.code = #extension:party.PractitionerRole.Organization.telecom
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #informationRecipient.intendedRecipient.informationRecipient.receivedOrganization.addr
* group[=].element[=].target.code = #extension:party.PractitionerRole.Organization.address
* group[=].element[=].target.equivalence = #equivalent
37 changes: 37 additions & 0 deletions input/fsh/MappingCDA_FHIR_Entete/DocumentDeReferenceCDAFHIR.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Instance: mappingDocumentDeReferenceCDAFHIR
InstanceOf: ConceptMap
Usage: #definition
Title: "Mapping Métier/CDA/FHIR : \"DocumentDeReference\""
Description: """Ce ConceptMap présente deux groupes de mapping :
- Mapping 1 : entre le modèle métier \"documentDeReference\" et l'élément CDA \"relatedDocument\"
- Mapping 2 : entre l'élément CDA \"relatedDocument\" et l'élément FHIR \"Composition.relatesTo\" """

* name = "Mapping Métier/CDA/FHIR : \"DocumentDeReference\""
* status = #draft
* experimental = false

// Groupe Mapping 1 : modèle métier to CDA
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-lm-document-reference"
* group[=].target = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-related-document"
* group[=].element[+].code = #FRLMDocumentDeReference
* group[=].element[=].target.code = #relatedDocument
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMDocumentDeReference.typeReference
* group[=].element[=].target.code = #relatedDocument@typeCode
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #FRLMDocumentDeReference.identifiantUniqueDocument
* group[=].element[=].target.code = #relatedDocument.parentDocument.id
* group[=].element[=].target.equivalence = #equivalent

// Groupe Mapping 2 : CDA to FHIR
* group[+].source = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-cda-related-document"
* group[=].target = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-composition-document"
* group[=].element[+].code = #relatedDocument
* group[=].element[=].target.code = #Composition.relatesTo
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #relatedDocument@typeCode
* group[=].element[=].target.code = #Composition.relatesTo.code
* group[=].element[=].target.equivalence = #equivalent
* group[=].element[+].code = #relatedDocument.parentDocument.id
* group[=].element[=].target.code = #Composition.relatesTo.targetIdentifier
* group[=].element[=].target.equivalence = #equivalent
Loading
Loading