diff --git a/_build.bat b/_build.bat new file mode 100644 index 00000000000..2bf0d79324f --- /dev/null +++ b/_build.bat @@ -0,0 +1,386 @@ +@ECHO OFF +setlocal enabledelayedexpansion + +SET "dlurl=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar" +SET "publisher_jar=publisher.jar" +SET "input_cache_path=%CD%\input-cache\" +SET "skipPrompts=false" +SET "upper_path=..\" +SET "scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main" +SET "build_bat_url=%scriptdlroot%/_build.bat" +SET "build_sh_url=%scriptdlroot%/_build.sh" + + + +:: Debugging statements to check jar file location +ECHO Checking for publisher.jar in %input_cache_path% +IF EXIST "%input_cache_path%%publisher_jar%" ( + SET "jar_location=%input_cache_path%%publisher_jar%" + ECHO Found publisher.jar in input-cache +) ELSE ( + ECHO Checking for publisher.jar in %upper_path% + IF EXIST "%upper_path%%publisher_jar%" ( + SET "jar_location=%upper_path%%publisher_jar%" + ECHO Found publisher.jar in parent folder + ) ELSE ( + SET "jar_location=not_found" + SET "default_choice=1" + ECHO publisher.jar not found in input-cache or parent folder + ) +) + + +:: Handle command-line argument to bypass the menu +IF NOT "%~1"=="" ( + IF /I "%~1"=="update" SET "userChoice=1" + IF /I "%~1"=="build" SET "userChoice=2" + IF /I "%~1"=="nosushi" SET "userChoice=3" + IF /I "%~1"=="notx" SET "userChoice=4" + IF /I "%~1"=="jekyll" SET "userChoice=5" + IF /I "%~1"=="clean" SET "userChoice=6" + IF /I "%~1"=="exit" SET "userChoice=0" + GOTO executeChoice +) + +echo --------------------------------------------------------------- +ECHO Checking internet connection... +PING tx.fhir.org -4 -n 1 -w 4000 >nul 2>&1 && SET "online_status=true" || SET "online_status=false" + +IF "%online_status%"=="true" ( + ECHO We're online and tx.fhir.org is available. + FOR /F "tokens=2 delims=:" %%a IN ('curl -s https://api.github.com/repos/HL7/fhir-ig-publisher/releases/latest ^| findstr "tag_name"') DO SET "latest_version=%%a" + SET "latest_version=!latest_version:"=!" + SET "latest_version=!latest_version: =!" + SET "latest_version=!latest_version:~0,-1!" +) ELSE ( + ECHO We're offline or tx.fhir.org is not available, can only run the publisher without TX... + SET "txoption=-tx n/a" + SET "latest_version=unknown" + SET "default_choice=4" +) + +echo --------------------------------------------------------------- + + +IF NOT "%jar_location%"=="not_found" ( + FOR /F "tokens=*" %%i IN ('java "-Dfile.encoding=UTF-8" -jar "%jar_location%" -v 2^>^&1') DO SET "publisher_version=%%i" + SET "publisher_version=!publisher_version:"=!" + ECHO Detected publisher version: !publisher_version! +) ELSE ( + SET "publisher_version=unknown" + ECHO publisher.jar location is not found +) + +ECHO Publisher version: !publisher_version!; Latest is !latest_version! + +IF NOT "%online_status%"=="true" ( + ECHO We're offline. +) ELSE ( + IF NOT "!publisher_version!"=="!latest_version!" ( + ECHO An update is recommended. + SET "default_choice=1" + ) ELSE ( + ECHO Publisher is up to date. + SET "default_choice=2" + ) +) + +echo --------------------------------------------------------------- +echo. + +echo Please select an option: +echo 1. Download or upload publisher +echo 2. Build IG +echo 3. Build IG - no sushi +echo 4. Build IG - force no TX server +echo 5. Jekyll build +echo 6. Clean up temp directories +echo 0. Exit +:: echo [Press Enter for default (%default_choice%) or type an option number:] +echo. + +:: Using CHOICE to handle input with timeout +:: ECHO [Enter=Continue, 1-7=Option, 0=Exit] +choice /C 12345670 /N /CS /D %default_choice% /T 5 /M "Choose an option number or wait 5 seconds for default (%default_choice%):" +SET "userChoice=%ERRORLEVEL%" + + +:executeChoice +echo You selected: %userChoice% + +IF "%userChoice%"=="1" GOTO downloadpublisher +IF "%userChoice%"=="2" GOTO publish_once +IF "%userChoice%"=="3" GOTO publish_nosushi +IF "%userChoice%"=="4" GOTO publish_notx +IF "%userChoice%"=="5" GOTO debugjekyll +IF "%userChoice%"=="6" GOTO clean +IF "%userChoice%"=="0" EXIT /B + +:end + + + +:debugjekyll + echo Running Jekyll build... + jekyll build -s temp/pages -d output +GOTO end + + +:clean + echo Cleaning up directories... + if exist ".\input-cache\publisher.jar" ( + echo Preserving publisher.jar and removing other files in .\input-cache... + move ".\input-cache\publisher.jar" ".\" + rmdir /s /q ".\input-cache" + mkdir ".\input-cache" + move ".\publisher.jar" ".\input-cache" + ) else ( + if exist ".\input-cache\" ( + rmdir /s /q ".\input-cache" + ) + ) + if exist ".\temp\" ( + rmdir /s /q ".\temp" + echo Removed: .\temp + ) + if exist ".\output\" ( + rmdir /s /q ".\output" + echo Removed: .\output + ) + if exist ".\template\" ( + rmdir /s /q ".\template" + echo Removed: .\template + ) + +GOTO end + + + + + +:downloadpublisher +ECHO Downloading Publisher... +:processflags +SET ARG=%1 +IF DEFINED ARG ( + IF "%ARG%"=="-f" SET FORCE=true + IF "%ARG%"=="--force" SET FORCE=true + SHIFT + GOTO processflags +) + +FOR %%x IN ("%CD%") DO SET upper_path=%%~dpx + +ECHO. +IF NOT EXIST "%input_cache_path%%publisher_jar%" ( + IF NOT EXIST "%upper_path%%publisher_jar%" ( + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + ECHO IG Publisher is not yet in input-cache or parent folder. + REM we don't use jarlocation below because it will be empty because we're in a bracketed if statement + GOTO create + ) ELSE ( + ECHO IG Publisher FOUND in parent folder + SET jarlocation="%upper_path%%publisher_jar%" + SET jarlocationname=Parent folder + GOTO upgrade + ) +) ELSE ( + ECHO IG Publisher FOUND in input-cache + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + GOTO upgrade +) + +:create +IF DEFINED FORCE ( + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) + +IF "%skipPrompts%"=="y" ( + SET create=Y +) ELSE ( + SET /p create="Download? (Y/N) " +) +IF /I "%create%"=="Y" ( + ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) +GOTO done + +:upgrade +IF "%skipPrompts%"=="y" ( + SET overwrite=Y +) ELSE ( + SET /p overwrite="Overwrite %jarlocation%? (Y/N) " +) + +IF /I "%overwrite%"=="Y" ( + GOTO download +) +GOTO done + +:download +ECHO Downloading most recent publisher to %jarlocationname% - it's ~200 MB, so this may take a bit + +FOR /f "tokens=4-5 delims=. " %%i IN ('ver') DO SET VERSION=%%i.%%j +IF "%version%" == "10.0" GOTO win10 +IF "%version%" == "6.3" GOTO win8.1 +IF "%version%" == "6.2" GOTO win8 +IF "%version%" == "6.1" GOTO win7 +IF "%version%" == "6.0" GOTO vista + +ECHO Unrecognized version: %version% +GOTO done + +:win10 +CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%dlurl%\",\"%jarlocation%\") } else { Invoke-WebRequest -Uri "%dlurl%" -Outfile "%jarlocation%" } + +GOTO done + +:win7 +rem this may be triggering the antivirus - bitsadmin.exe is a known threat +rem CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%" + +rem this didn't work in win 10 +rem CALL Start-BitsTransfer /priority normal "%dlurl%" "%jarlocation%" + +rem this should work - untested +call (New-Object Net.WebClient).DownloadFile('%dlurl%', '%jarlocation%') +GOTO done + +:win8.1 +:win8 +:vista +GOTO done + + + +:done + + + + +ECHO. +ECHO Updating scripts +IF "%skipPrompts%"=="y" ( + SET updateScripts=Y +) ELSE ( + SET /p updateScripts="Update scripts? (Y/N) " +) +IF /I "%updateScripts%"=="Y" ( + GOTO scripts +) +GOTO end + + +:scripts + +REM Download all batch files (and this one with a new name) + +SETLOCAL DisableDelayedExpansion + + + +:dl_script_1 +ECHO Updating _build.sh +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_sh_url%\",\"_build.new.sh\") } else { Invoke-WebRequest -Uri "%build_sh_url%" -Outfile "_build.new.sh" } +if %ERRORLEVEL% == 0 goto upd_script_1 +echo "Errors encountered during download: %errorlevel%" +goto dl_script_2 +:upd_script_1 +start copy /y "_build.new.sh" "_build.sh" ^&^& del "_build.new.sh" ^&^& exit + + +:dl_script_2 +ECHO Updating _build.bat +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%build_bat_url%" -Outfile "_build.new.bat" } +if %ERRORLEVEL% == 0 goto upd_script_2 +echo "Errors encountered during download: %errorlevel%" +goto end +:upd_script_2 +start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit + + +GOTO end + + +:publish_once + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 1jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + +:publish_nosushi + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 3jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% -no-sushi %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + +:publish_notx +SET txoption=-tx n/a + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 2jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + + +:publish_continuous + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO Checking %input_cache_path% for publisher.jar +IF EXIST "%input_cache_path%\%publisher_jar%" ( + java %JAVA_OPTS% -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% -watch %* +) ELSE ( + ECHO Checking %upper_path% for publisher.jar + IF EXIST "..\%publisher_jar%" ( + java %JAVA_OPTS% -jar "..\%publisher_jar%" -ig . %txoption% -watch %* + ) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... + ) +) + +GOTO end + + +:end + +:: Pausing at the end + + +IF NOT "%skipPrompts%"=="true" ( + PAUSE +) diff --git a/_updatePublisher.bat b/_updatePublisher.bat index 67aebf58349..10fee38155c 100644 --- a/_updatePublisher.bat +++ b/_updatePublisher.bat @@ -8,6 +8,8 @@ SET input_cache_path=%CD%\input-cache\ SET skipPrompts=false SET scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main +SET build_bat_url=%scriptdlroot%/_build.bat +SET build_sh_url=%scriptdlroot%/_build.sh SET update_bat_url=%scriptdlroot%/_updatePublisher.bat SET gen_bat_url=%scriptdlroot%/_genonce.bat SET gencont_bat_url=%scriptdlroot%/_gencontinuous.bat @@ -20,7 +22,7 @@ IF "%~1"=="/f" SET skipPrompts=y ECHO. ECHO Checking internet connection... -PING tx.fhir.org -4 -n 1 -w 1000 | FINDSTR TTL && GOTO isonline +PING tx.fhir.org -4 -n 1 -w 4000 | FINDSTR TTL && GOTO isonline ECHO We're offline, nothing to do... GOTO end @@ -69,6 +71,7 @@ IF DEFINED FORCE ( IF "%skipPrompts%"=="y" ( SET create=Y ) ELSE ( + ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% SET /p create="Ok? (Y/N) " ) IF /I "%create%"=="Y" ( @@ -211,6 +214,16 @@ goto end start copy /y "_updatePublisher.new.bat" "_updatePublisher.bat" ^&^& del "_updatePublisher.new.bat" ^&^& exit +:dl_script_7 +ECHO Updating _build.bat +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%update_bat_url%" -Outfile "_build.new.bat" } +if %ERRORLEVEL% == 0 goto upd_script_6 +echo "Errors encountered during download: %errorlevel%" +goto end +:upd_script_6 +start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit + + :end diff --git a/_updatePublisher.sh b/_updatePublisher.sh index 0f9ecbed9cb..6a97fe0bdb0 100644 --- a/_updatePublisher.sh +++ b/_updatePublisher.sh @@ -12,6 +12,8 @@ gencont_bat_url=$scriptdlroot/_gencontinuous.bat gencont_sh_url=$scriptdlroot/_gencontinuous.sh gen_sh_url=$scriptdlroot/_genonce.sh update_sh_url=$scriptdlroot/_updatePublisher.sh +build_sh_url=$scriptdlroot/_build.sh +build_bat_url=$scriptdlroot/_build.bat skipPrompts=false FORCE=false @@ -103,6 +105,16 @@ if [[ $skipPrompts != true ]]; then if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then echo "Downloading most recent scripts " + curl -L $build_bat_url -o /tmp/_build.new + cp /tmp/_build.new _build.bat + rm /tmp/_build.new + + + curl -L $build_sh_url -o /tmp/_build.new + cp /tmp/_build.new _build.sh + chmod +x _build.sh + rm /tmp/_build.new + curl -L $update_bat_url -o /tmp/_updatePublisher.new cp /tmp/_updatePublisher.new _updatePublisher.bat rm /tmp/_updatePublisher.new @@ -129,4 +141,4 @@ if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then cp /tmp/_updatePublisher.new _updatePublisher.sh chmod +x _updatePublisher.sh rm /tmp/_updatePublisher.new -fi +fi \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrAssociationPriseEncharge.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrAssociationPriseEncharge.fsh deleted file mode 100644 index 5629cb81d86..00000000000 --- a/input/fsh/ModeleLogiqueMetierEntete/FrAssociationPriseEncharge.fsh +++ /dev/null @@ -1,22 +0,0 @@ -// Logical Model : association-prise-en-charge -Logical: AssociationPriseEncharge -Title: "Association du document à une prise en charge" -//Id: fr-association-prise-en-charge. -Description: "Permet d'associer le document à une prise en charge du patient/usager." -Characteristics: #can-be-target -* identifiantPriseEnCharge 0..* Identifier "Identifiant de la prise en charge." -* typePriseEnCharge 0..1 CodeableConcept "Type de prise en charge." -* dateDebutFinPriseEnCharge 1..1 dateTime "Date de début et de fin de la prise en charge." -* typeSortie 0..1 CodeableConcept "Type sortie." -* responsablePriseEnCharge 0..1 PersonneStructure "Responsable de la prise en charge." -* personneImpliqueePriseEnCharge 0..* BackboneElement "Personne impliquée dans la prise en charge." - * typeParticipation 1..1 CodeableConcept "Type de participation." - * dateDebutFinParticipation 0..1 dateTime "Date de début et de fin de la participation." - * professionnelImplique 1..1 PersonneStructure "Professionnel impliqué." -* lieuPriseEnCharge 1..1 BackboneElement "Lieu de la prise en charge." - * structure 0..1 BackboneElement "Structure" - * identifiantStructure 0..1 Identifier "Identifiant de la structure" - * nomStructure 0..1 string "Nom de la structure" - * adresse 0..* Address "Adresse géopostale" - * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom" - * secteurActivite 0..1 CodeableConcept "Secteur d'activité" \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrAuteur.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrAuteur.fsh index 35b7fe1c082..7283f57e1b2 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrAuteur.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrAuteur.fsh @@ -1,9 +1,10 @@ // Logical Model : auteur Logical: Auteur -Title: "Auteur du document (humain ou système)" +Title: "Modèle métier - Auteur du document (humain ou système)" Description: """Auteur du document : ce peut être un professionnel, un patient/usager ou un système. - Pour un professionnel ou un système, la structure de rattachement doit être précisée.""" +* . 1..* * roleFonctionnel 0..1 CodeableConcept "Rôle fonctionnel de l’auteur. A utiliser uniquement si l'auteur est un professionnel." * horodatageParticipation 1..1 time "Horodatage de la participation de l’auteur." // Définition des éléments -* auteur[x] 1..1 PersonneStructureAuteur or Systeme "Auteur du document : ce peut être un professionnel, un patient/usager ou un système. Pour un professionnel ou un système, la structure de rattachement doit être précisée." \ No newline at end of file +* auteur[x] 1..1 PersonneStructureAuteur or SystemeStructureAuteur "Auteur du document : ce peut être un professionnel, un patient/usager ou un système. Pour un professionnel ou un système, la structure de rattachement doit être précisée." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrConsentement.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrConsentement.fsh index 7c82414a0b3..69d6a287fbf 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrConsentement.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrConsentement.fsh @@ -1,9 +1,10 @@ // Logical Model : consentement-document Logical: Consentement -Title: "Consentement associé au document" +Title: "Modèle métier - Consentement associé au document" //Id: fr-consentement-documente Description: "Permet de documenter qu'un consentement éclairé a été obtenu et d'indiquer quel type de consentement a été fourni." -Characteristics: #can-be-target +Characteristics: #can-be-target +* . 0..* * identifiantConsentement 0..* Identifier "Identifiant du consentement." * typeConsentement 1..1 CodeableConcept "Type de consentement." * statutConsentement 1..1 CodeableConcept "Statut du consentement." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrDestinataire.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrDestinataire.fsh index 4a6949e2d78..11a068919d2 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrDestinataire.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrDestinataire.fsh @@ -1,6 +1,6 @@ // Logical Model destinataire-prevu-document Logical: DestinatairePrevu -Title: "Destinataire prévu du document" +Title: "Modèle métier - Destinataire prévu du document" //Id: fr-destinataire-prevu-document Description: "Personne déclarée comme destinataire prévu du document. - Attention : Cet élément ne contient que le(s) destinataire(s) initialement prévu(s) à la création du document. Rien ne permet par la suite, de certifier que le document a réellement été envoyé à ce(s) destinataire(s). diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrDocumentReference.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrDocumentDeReference.fsh similarity index 78% rename from input/fsh/ModeleLogiqueMetierEntete/FrDocumentReference.fsh rename to input/fsh/ModeleLogiqueMetierEntete/FrDocumentDeReference.fsh index f75f91ea9de..5b66d9b3692 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrDocumentReference.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrDocumentDeReference.fsh @@ -1,8 +1,9 @@ // Logical Model : document-reference -Logical: DocumentReference -Title: "Document de référence" +Logical: DocumentDeReference +Title: "Modèle métier - Document de référence" //Id: fr-document-reference Description: "Référence un document existant (à remplacer ou transformé)." Characteristics: #can-be-target +* . 0..1 * typeReference 1..1 CodeableConcept "Type de référence." * identifiantUniqueDocument 1..1 Identifier "Identifiant unique du document de référence." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrEvenement.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrEvenement.fsh index 05d88c66a72..3e70403e664 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrEvenement.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrEvenement.fsh @@ -1,14 +1,35 @@ // Logical Model : evenement-documente Logical: Evenement -Title: "Évènement documenté" +Title: "Modèle métier - Évènement documenté" //Id: fr-evenement-documente -Description: "Évènement (acte, traitement, diagnostic, etc…) décrit dans le document.Il y a au minimum une occurrence de cet élément pour décrire l'évènement principal avec obligatoirement une date de début et un exécutant." -Characteristics: #can-be-target -* identifiantEvenement 0..* Identifier "Identifiant de l’évènement documenté ." -* codeEvenement 0..1 CodeableConcept "Code de l’évènement documenté (obligatoire pour une Demande d'actes d'imagerie, un CR d’imagerie, CR d’examen de l’enfant et un document d’expression personnelle du patient/usager)." - * translation 0..* CodeableConcept "Translation (obligatoire pour un CR d’imagerie et un CR d’examen de l’enfant." -* dateHeureEvenement 0..1 dateTime "Date et heure de l’évènement documenté." -* executantEvenement 1..1 BackboneElement "Exécutant." +Description: "Évènement (acte, traitement, diagnostic, etc…) décrit dans le document. Il y a au minimum une occurrence de cet élément pour décrire l'évènement principal avec obligatoirement une date de début et un exécutant." +Characteristics: #can-be-target +* . 1..* +* identifiantEvenement 0..* Identifier "Identifiant de l’évènement documenté. + Obligatoire pour : + - une demande d'acte d'imagerie pour porter l'Order Placer Number. + - un CR d’imagerie pour porter le studyInstanceUID. + Fourni si connu pour : + - une prescription pour porter l'identifiant EPU de la prescription." +* codeEvenement 0..1 CodeableConcept "Code de l’évènement documenté. + Obligatoire pour : + - une demande d'actes d'imagerie (code LOINC ='55115-0' 'Demande d’actes d’imagerie') + - un CR d’imagerie (code LOINC de l'acte d'imagerie), + - un CR d’examen de l’enfant (code SNOMED CT ='11429006' 'consultation'), + - un document d’expression personnelle du patient/usager (code TRE_A00 'EXP_PATIENT' 'Expression personnelle du patient')." + * id 0..0 + * extension 0..0 + * translation 0..* CodeableConcept "Translation. + Obligatoire pour : + - un CR d’imagerie pour indiquer + - 1..* la (ou les) modalité(s) d'acquisition, + - 1..* la (ou les) région(s) anatomique(s) + - un CR d’examen de l’enfant pour indiquer l'examen (jdv-examen-enfant-obligatoire-cisis)." +* dateHeureEvenement 0..1 dateTime "Date et heure de début et de fin de l’évènement documenté. + Date de début obligatoire pour l'évènement documenté principal." +* executantEvenement 0..1 Base "Exécutant. + Obligatoire pour l'évènement documenté principal." * roleFonctionnel 0..1 CodeableConcept "Rôle fonctionnel." * dateHeureParticipation 0..1 dateTime "Date et heure de participation." - * executant 1..1 PersonneStructure "Exécutant." \ No newline at end of file + * executant 1..1 PersonneStructure "Exécutant. + Le cadre d'exercice est obligatoire pour l'évènement documenté principal." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrInformateur.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrInformateur.fsh index 13d83802ce0..86e11897e85 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrInformateur.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrInformateur.fsh @@ -1,5 +1,5 @@ // Logical Model : informateur-document Logical: Informateur -Title: "Informateur" +Title: "Modèle métier - Informateur" Description: "Informateur (personne ayant fourni des informations utiles à la production du document : professionnel, structure, patient/usager, autre), personne de confiance, personne à prévenir en cas d'urgence, aidant, aidé." * informateur 1..1 PersonneStructure "Informateur / personne de confiance / personne à prévenir en cas d’urgence / aidant / personne aidée." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrModelesLogiquesMetierEntete.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrModelesLogiquesMetierEntete.fsh index bb30bfc3cd1..7456e0f0f0a 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrModelesLogiquesMetierEntete.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrModelesLogiquesMetierEntete.fsh @@ -1,17 +1,18 @@ // Logical Model : entete-document Logical: EnteteDocument Title: "Modèle logique métier de l'en-tête" -Description: "Eléments de l'entête d'un document contenant les données les informations générales et nécessaires à la gestion du document (identification et type du document, patient/usager, auteur, évènement documenté, etc..." +Description: "Eléments de l'entête d'un document contenant les informations générales et nécessaires à la gestion du document (identification et type du document, patient/usager, auteur, évènement documenté, etc...)." +* . 1..1 * identifiantUniqueDocument 1..1 Identifier "Identifiant unique du document." * modeleDocument 1..1 Identifier "Modèle du document et version du modèle." * typeDocument 1..1 CodeableConcept "Type de document." * titreDocument 1..1 string "Titre du document." -* dateDeCreation 1..1 dateTime "Date de création du document." -* niveauConfidentialite 1..1 CodeableConcept "Niveau de confidentialité du document." -* languePrincipaleDocument 1..1 CodeableConcept "Langue principale du document." -* identifiantDuLotDeVersions 1..1 Identifier "Identifiant du lot de versions du même document." +* dateDeCreationDocument 1..1 dateTime "Date de création du document." +* niveauConfidentialiteDocument 1..1 code "Niveau de confidentialité du document." +* languePrincipaleDocument 1..1 code "Langue principale du document." +* identifiantLotDeVersionsDocument 1..1 Identifier "Identifiant du lot de versions du même document." * versionDocument 1..1 string "Numéro de version du document." -* statutDocument 1..1 CodeableConcept "Statut du document." +* statutDocument 1..1 code "Statut du document." * patient 1..1 Patient "Patient / Usager." * auteur 1..* Auteur "Auteur du document." * operateurSaisie 0..1 OperateurSaisie "Opérateur de saisie." @@ -21,8 +22,8 @@ Description: "Eléments de l'entête d'un document contenant les données les in * responsable 1..1 Responsable "Responsable du document." * validateur 0..* Validateur "Professionnel attestant la validité du contenu du document." * participant 0..* Participant "Participant, différent de l'auteur, du responsable, de l'opérateur de saisie, de l'informateur ou du destinataire." -* associationPrescription 1..1 AssociationPrescription "Association du document à une prescription." +* prescription 0..* Prescription "Association du document à une prescription." * evenement 1..* Evenement "Evènement documenté et notamment le cadre d'exercice." -* documentReference 0..1 DocumentReference "Document de référence (à remplacer, transformé, …)." +* documentDeReference 0..1 DocumentDeReference "Document de référence (à remplacer, transformé, …)." * consentementAssocie 0..* Consentement "Consentement associé au document." -* associationPriseEncharge 1..1 AssociationPriseEncharge "Association du document à une prise en charge." \ No newline at end of file +* priseEncharge 1..1 PriseEncharge "Association du document à une prise en charge." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrOperateurSaisie.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrOperateurSaisie.fsh index a00d129ba05..cd2f845b564 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrOperateurSaisie.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrOperateurSaisie.fsh @@ -1,8 +1,9 @@ // Logical Model : operateur-saisie Logical: OperateurSaisie -Title: "Opérateur de saisie" +Title: "Modèle métier - Opérateur de saisie" //Id: fr-operateur-saisie Description: "Opérateur de saisie de la totalité ou d'une partie du contenu du document." Characteristics: #can-be-target +* . 0..1 * dateSaisie 1..1 dateTime "Date de la saisie." * operateurSaisie 1..1 PersonneStructure "Opérateur de saisie" \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrParticipant.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrParticipant.fsh index 17e7b5853a1..43ef985df2b 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrParticipant.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrParticipant.fsh @@ -1,6 +1,6 @@ // Logical Model : participant-document Logical: Participant -Title: "Autres personnes / structures impliquées" +Title: "Modèle métier - Autres personnes / structures impliquées" //Id: fr-participant-document Description: "Personne/Structure impliquée dans les évènements décrits par le document qui n'a pas été mentionné ailleurs." Characteristics: #can-be-target diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrPatient.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrPatient.fsh index f31a508c3d6..a9f3b3654ee 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrPatient.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrPatient.fsh @@ -1,20 +1,21 @@ // Logical Model : patient Logical: Patient -Title: "Patient / Usager" +Title: "Modèle métier - Patient / Usager" Description: """Patient/Usager concerné par le document.""" -Characteristics: #can-be-target +Characteristics: #can-be-target +* . 1..1 * identifiantPatient 1..* Identifier "Identifiant du patient / usager. - Première occurrence obligatoire pour un document mis en partage dans un système d’information de santé partagé : Matricule INS du patient/usager tel que défini dans le cadre juridique. - Occurrence(s) suivante(s) (optionnelles) : Identifiant connu pour le patient/usager dans le système d’information du producteur du document (IPP, NIP, etc.).""" * adresse 0..* Address "Adresse géopostale du patient/usager." * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom du patient/usager (numéro de téléphone, adresse e-mail, …)." -* personnePhysique 1..1 BackboneElement "Eléments permettant de décrire l’identité du patient/usager, son sexe, sa date et son lieu de naissance, son (ses) représentant(s), etc..." - * nomsPrenoms 1..1 BackboneElement "Noms et prénoms du patient/usager." - * noms 1..* BackboneElement "Noms du patient/usager." +* personnePhysique 1..1 Base "Eléments permettant de décrire l’identité du patient/usager, son sexe, sa date et son lieu de naissance, son (ses) représentant(s), etc..." + * nomsPrenomsPatient 1..1 Base "Noms et prénoms du patient/usager." + * nom 1..* Base "Nom du patient/usager." * nomNaissance 0..1 string "Nom de naissance (ou nom de famille) du patient/usager. - Obligatoire si le matricule INS est présent." * nomUtilise 0..1 string "Nom utilisé du patient/usager." - * prenoms 1..* BackboneElement "Prénoms du patient/usager." + * prenom 1..* Base "Prénom du patient/usager." * listePrenoms 0..1 string "Liste des prénoms de l'acte de naissance.Obligatoire si le matricule INS est présent." * premierPrenom 0..1 string "Premier prénom de l'acte de naissance.Obligatoire si le matricule INS est présent" * prenomUtilise 0..1 string "Prénom utilisé." @@ -24,20 +25,20 @@ Characteristics: #can-be-target * dateDeces 0..1 dateTime "Date et heure du décès du patient/usager." * grossesseMultiple 0..1 boolean "Patient/usager né d'une grossesse multiple." * numeroOrdreNaissance 0..1 string "Numéro d’ordre de naissance." - * representantPatient 0..* BackboneElement "Représentant du patient/usager." + * representantPatient 0..* Base "Représentant du patient/usager." * adresse 0..* Address "Adresse géopostale." * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom." - * personneRepresentantPatient 0..1 BackboneElement "Personne représentant le patient/usager." - * nomsPrenoms 1..1 BackboneElement "Noms et Prénoms du représentant." + * personneRepresentantPatient 0..1 Base "Personne représentant le patient/usager." + * nomsPrenomsRepresentantPatient 1..1 Base "Noms et Prénoms du représentant." * nom 1..3 string "Nom du représentant." * prenom 0..* string "Prénom du représentant." - * structureRepresentantPatient 0..1 BackboneElement "Structure représentant le patient/usager." + * structureRepresentantPatient 0..1 Base "Structure représentant le patient/usager." * identifiant 0..1 Identifier "Identifiant de la structure." - * nom 0..1 string "Nom de la structure." - * lieuNaissance 0..1 BackboneElement "Lieu de naissance. + * nom 0..1 string "Nom de la structure." + * lieuNaissance 0..1 Base "Lieu de naissance. - Obligatoire si le matricule INS est présent pour porter le code officiel géographique (COG) du lieu de naissance. - Le lieu de naissance est constitué du nom et/ou de l’adresse du lieu de naissance du patient/usager." * nomLieuNaissance 0..1 string "Nom du lieu de naissance du patient/usager." - * adresseEtCodeOfficielGeographique 0..1 Address "Adresse et code officiel géographique du lieu de naissance." - * CodeOfficielGeographique 0..1 string "Code Officiel Géographique (COG) de la commune ou du pays du lieu de naissance. + * adresseLieuNaissance 0..1 Address "Adresse et code officiel géographique du lieu de naissance." + * CodeOfficielGeographiqueLieuNaissance 0..1 string "Code Officiel Géographique (COG) de la commune ou du pays du lieu de naissance. - Le COG est obligatoire si le matricule INS est présent." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructure.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructure.fsh index 95066ea0926..b3e2fb1a77e 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructure.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructure.fsh @@ -1,9 +1,9 @@ // Logical Model : personne-structure Logical: PersonneStructure -Title: "Personne et/ou Structure" +Title: "Modèle métier - Personne et/ou Structure" Description: "Une personne (professionnel ou patient ou autre) et/ou une structure (pour les professionnels)." Characteristics: #can-be-target -* personne 0..1 BackboneElement "Personne" +* personne 0..1 Base "Personne" * identifiantPersonne 0..1 Identifier "Identifiant de la personne. - obligatoire pour les professionnels et les patients." * professionRole 0..1 CodeableConcept " @@ -12,14 +12,14 @@ Characteristics: #can-be-target * lien 0..1 CodeableConcept "Lien de la personne avec le patient/usager" * adresse 0..* Address "Adresse géopostale" * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom" - * IdentitePersonne 0..1 BackboneElement "Identité de la personne" - * nomPersonne 1..* BackboneElement "Nom de la personne" + * IdentitePersonne 0..1 Base "Identité de la personne" + * nomPersonne 1..* Base "Nom de la personne" * prenomPersonne 0..* string "Prénom de la personne" * civilite 0..1 CodeableConcept "Civilité" * titre 0..1 CodeableConcept "Titre" -* structure 0..1 BackboneElement "Structure" +* structure 0..1 Base "Structure" * identifiantStructure 0..1 Identifier "Identifiant de la structure" * nomStructure 0..1 string "Nom de la structure" * adresse 0..* Address "Adresse géopostale" * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom" - * secteurActivite 0..1 CodeableConcept "Secteur d'activité" \ No newline at end of file + * cadreExercice 0..1 CodeableConcept "Cadre d'exercice" \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructureAuteur.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructureAuteur.fsh index dfa96513f31..c2ac4350888 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructureAuteur.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrPersonneStructureAuteur.fsh @@ -1,9 +1,9 @@ // Logical Model : personne-structure-auteur Logical: PersonneStructureAuteur -Title: "Personne et/ou Structure (Auteur)" +Title: "Modèle métier - Personne et/ou Structure (Auteur)" Description: "Une personne (professionnel ou patient ou autre) et/ou une structure (pour les professionnels)." Characteristics: #can-be-target -* personne 0..1 BackboneElement "Personne" +* personne 0..1 Base "Personne" * identifiantPersonne 1..* Identifier "Identifiant de la personne." * professionRole 0..1 CodeableConcept " - Profession pour les professionnels. @@ -13,12 +13,12 @@ Characteristics: #can-be-target - Obligatoire pour un professionnel." * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom. - Obligatoire pour un professionnel." - * IdentitePersonne 0..1 BackboneElement "Identité de la personne" - * nomPersonne 1..* BackboneElement "Nom de la personne" + * IdentitePersonne 1..1 Base "Identité de la personne" + * nomPersonne 1..* Base "Nom de la personne" * prenomPersonne 0..* string "Prénom de la personne" * civilite 0..1 CodeableConcept "Civilité" * titre 0..1 CodeableConcept "Titre" -* structure 0..1 BackboneElement "Structure" +* structure 0..1 Base "Structure" * identifiantStructure 0..1 Identifier "Identifiant de la structure. - Obligatoire pour un professionnel." * nomStructure 0..1 string "Nom de la structure. diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrAssociationPrescription.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrPrescription.fsh similarity index 59% rename from input/fsh/ModeleLogiqueMetierEntete/FrAssociationPrescription.fsh rename to input/fsh/ModeleLogiqueMetierEntete/FrPrescription.fsh index 426572eb8f9..32cda62b160 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrAssociationPrescription.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrPrescription.fsh @@ -1,8 +1,9 @@ // Logical Model : association-prescription -Logical: AssociationPrescription -Title: "Association du document à une prescription" +Logical: Prescription +Title: "Modèle métier - Association du document à une prescription" //Id: fr-association-prescription Description: "Association à une prescription à l’origine de l’acte dont résulte le document." -Characteristics: #can-be-target -* identifiantPrescription 0..1 Identifier "Identifiant de la prescription." +Characteristics: #can-be-target +* . 0..* +* identifiantPrescription 1..1 Identifier "Identifiant de la prescription." * accessionNumber 0..1 Identifier "Accession Number (Spécifique à l’imagerie)." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrPriseEncharge.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrPriseEncharge.fsh new file mode 100644 index 00000000000..e99ddf78ada --- /dev/null +++ b/input/fsh/ModeleLogiqueMetierEntete/FrPriseEncharge.fsh @@ -0,0 +1,27 @@ +// Logical Model : association-prise-en-charge +Logical: PriseEncharge +Title: "Modèle métier - Association du document à une prise en charge" +//Id: fr-association-prise-en-charge. +Description: "Association du document à une prise en charge du patient/usager par un professionnel ou par une structure. + - Exemples : + - Dans une structure hospitalière, cette prise en charge est une hospitalisation complète ou partielle, des actes et soins externes, une consultation, etc. + - Dans un cabinet, cette prise en charge est une consultation ou des actes et soins. + - Pour un document d'expression personnelle du patient ou pour un document élaboré sans la présence du patient (ex : synthèse médicale) ou pour un document produit via un SNR, la prise en charge n'a pas de signification. Dans ce cas, on ne renseignera que les données obligatoires : date de prise en charge (avec nulllFlavor possible) et secteur d'activité." +* . 1..1 +* identifiantPriseEnCharge 0..* Identifier "Identifiant de la prise en charge." +* typePriseEnCharge 0..1 CodeableConcept "Type de prise en charge." +* dateDebutFinPriseEnCharge 1..1 dateTime "Date de début et de fin de la prise en charge." +* typeSortie 0..1 CodeableConcept "Type sortie." +* responsablePriseEnCharge 0..1 PersonneStructure "Responsable de la prise en charge." +* personneImpliqueePriseEnCharge 0..* Base "Personne impliquée dans la prise en charge." + * typeParticipation 1..1 CodeableConcept "Type de participation." + * dateDebutFinParticipation 0..1 dateTime "Date de début et de fin de la participation." + * professionnelImplique 1..1 PersonneStructure "Professionnel impliqué." +* lieuPriseEnCharge 1..1 Base "Lieu de la prise en charge." + * structure 0..1 Base "Structure" + * identifiantStructure 0..1 Identifier "Identifiant de la structure" + * nomStructure 0..1 string "Nom de la structure" + * adresse 0..1 Address "Adresse géopostale" + * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom" + * secteurActivite 0..1 CodeableConcept "Secteur d'activité" + * typeStructure 0..1 CodeableConcept "Type de structure" \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrResponsable.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrResponsable.fsh index 1c3bfe3b487..45d23ccc11b 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrResponsable.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrResponsable.fsh @@ -1,13 +1,14 @@ // Logical Model : responsable-document Logical: Responsable -Title: "Responsable du document" +Title: "Modèle métier - Responsable du document" //Id: fr-responsable-document Description: "Représente le responsable du document, qui est : - soit le professionnel qui prend la responsabilité du document produit par un lui-même ou un autre professionnel. - soit le professionnel qui prend la responsabilité du document produit par un système de structure (ES, …). - soit le patient/usager responsable du document d'expression personnelle - soit le SNR responsable du document produit via ce SNR. - - Soit le Dossier Pharmaceutique (DP) responsable des documents qu'il produit" + - Soit le Dossier Pharmaceutique (DP) responsable des documents qu'il produit" Characteristics: #can-be-target +* . 1..1 * dateHeureAttestationValidite 1..1 dateTime "Date/Heure de la prise de responsabilité." * Responsable 1..1 PersonneStructure "Responsable du document." \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrStructureConservation.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrStructureConservation.fsh index a2ac4d4bc4e..4bd0fc5c700 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrStructureConservation.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrStructureConservation.fsh @@ -1,12 +1,12 @@ // Logical Model : structure-conservation-document Logical: StructureConservation -Title: "Structure chargée de la conservation du document" +Title: "Modèle métier - Structure chargée de la conservation du document" //Id: fr-structure-conservation-document Description: "Structure chargée de la conservation du document, c'est-à-dire de garder physiquement le document qui lui est confié tout en garantissant son cycle de vie." Characteristics: #can-be-target -* structure 0..1 BackboneElement "Structure" - * identifiantStructure 0..1 Identifier "Identifiant de la structure" +* . 1..1 +* structure 1..1 Base "Structure" + * identifiantStructure 1..1 Identifier "Identifiant de la structure" * nomStructure 0..1 string "Nom de la structure" - * adresse 0..* Address "Adresse géopostale" - * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom" - * secteurActivite 0..1 CodeableConcept "Secteur d'activité" \ No newline at end of file + * coordonneesTelecom 0..1 ContactPoint "Coordonnées télécom" + * adresse 0..1 Address "Adresse géopostale" \ No newline at end of file diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrSysteme.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrSysteme.fsh index d6a88416dc1..da27348c9ce 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrSysteme.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrSysteme.fsh @@ -1,17 +1,17 @@ // Logical Model : auteur-systeme -Logical: Systeme -Title: "Système" +Logical: SystemeStructureAuteur +Title: "Modèle métier - Système / Structure" //Id: fr-auteur-systeme -Description: "Système auteur du document" +Description: "Système auteur du document" Characteristics: #can-be-target -* identificationAuteur 1..1 BackboneElement "Identification de l’auteur." - * identifiantAuteur 1..* Identifier "Identifiant de l’auteur." - * professionSavoirFaireRole 1..1 CodeableConcept "Rôle." - * systeme 1..1 BackboneElement "Système." - * nomModeleSysteme 1..1 string "Nom du modèle du système." - * nomSysteme 1..1 string "Nom du système." - * structure 1..1 BackboneElement "Structure." - * identifiantStructure 1..1 Identifier "Identifiant de la structure." - * nomStructure 1..1 string "Nom de la structure." - * adresse 0..* Address "Adresse géopostale." - * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom." +* systeme 1..1 Base "Identification du système." + * identifiantSysteme 1..* Identifier "Identifiant du systeme." + * typeSysteme 1..1 CodeableConcept "type du systeme." + * nomModeleSysteme 1..1 string "Nom du modèle du système." + * nomSysteme 1..1 string "Nom du système." +* structure 1..1 Base "Structure." + * identifiantStructure 1..1 Identifier "Identifiant de la structure." + * nomStructure 1..1 string "Nom de la structure." + * adresse 0..* Address "Adresse géopostale." + * coordonneesTelecom 0..* ContactPoint "Coordonnées télécom." + * secteurActivite 0..1 CodeableConcept "Secteur d'activité." diff --git a/input/fsh/ModeleLogiqueMetierEntete/FrValidiateur.fsh b/input/fsh/ModeleLogiqueMetierEntete/FrValidiateur.fsh index 4cbeb8a6fba..ed6da814695 100644 --- a/input/fsh/ModeleLogiqueMetierEntete/FrValidiateur.fsh +++ b/input/fsh/ModeleLogiqueMetierEntete/FrValidiateur.fsh @@ -1,6 +1,6 @@ // Logical Model : validateur-document Logical: Validateur -Title: "Validateur du document" +Title: "Modèle métier - Validateur du document" //Id: fr-validateur-document Description: "Professionnel attestant la validité des informations portées dans le document sans pour autant en prendre la responsabilité. N'est pas utilisé dans un document d'expression personnelle du patient/usager et un document produit par un système." Characteristics: #can-be-target diff --git a/input/fsh/ResourcesCDAEntete/FrAssignedAuthor.fsh b/input/fsh/ResourcesCDAEntete/FrAssignedAuthor.fsh index 439cb28e93c..5aa094d1e87 100644 --- a/input/fsh/ResourcesCDAEntete/FrAssignedAuthor.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAssignedAuthor.fsh @@ -2,7 +2,7 @@ Profile: FrAssignedAuthor Parent: http://hl7.org/cda/stds/core/StructureDefinition/AssignedAuthor Id: fr-core-assigned-author -Title: "assignedAuthor" +Title: "CDA - assignedAuthor" Description: "L'élément de l'en-tête du CDA assignedAuthor contient les éléments permettant de décrire l’auteur." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAssignedCustodian.fsh b/input/fsh/ResourcesCDAEntete/FrAssignedCustodian.fsh index 5cfb9fafc06..b5d8ec22d75 100644 --- a/input/fsh/ResourcesCDAEntete/FrAssignedCustodian.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAssignedCustodian.fsh @@ -2,7 +2,7 @@ Profile: FrAssignedCustodian Parent: http://hl7.org/cda/stds/core/StructureDefinition/AssignedCustodian Id: fr-core-assigned-custodian -Title: "assignedCustodian" +Title: "CDA - assignedCustodian" Description: "L'élément de l'en-tête du CDA assignedCustodian contient l’élément representedCustodianOrganization caractérisant la structure conservant le document." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAssignedEntity.fsh b/input/fsh/ResourcesCDAEntete/FrAssignedEntity.fsh index eb7edd2c7bc..99bb1dc9a3b 100644 --- a/input/fsh/ResourcesCDAEntete/FrAssignedEntity.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAssignedEntity.fsh @@ -2,7 +2,7 @@ Profile: FrAssignedEntity Parent: http://hl7.org/cda/stds/core/StructureDefinition/AssignedEntity Id: fr-core-assigned-entity -Title: "assignedEntity" +Title: "CDA - assignedEntity" Description: "L'élément de l'en-tête du CDA assignedEntity est utilisé dans les éléments suivants : dataEnterer, informant, legalAuthenticator, authenticator, performer, responsibleParty et encounterParticipant." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAssignedPerson.fsh b/input/fsh/ResourcesCDAEntete/FrAssignedPerson.fsh index 505d1007044..b029c704b67 100644 --- a/input/fsh/ResourcesCDAEntete/FrAssignedPerson.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAssignedPerson.fsh @@ -2,7 +2,7 @@ Profile: FrAssignedPerson Parent: http://hl7.org/cda/stds/core/StructureDefinition/Person Id: fr-core-person -Title: "assignedPerson" +Title: "CDA - assignedPerson" Description: "L'élément de l'en-tête du CDA assignedPerson permet de décrire une personne physique." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAssociatedEntity.fsh b/input/fsh/ResourcesCDAEntete/FrAssociatedEntity.fsh index c5eee0185ab..7780f7e6d0f 100644 --- a/input/fsh/ResourcesCDAEntete/FrAssociatedEntity.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAssociatedEntity.fsh @@ -2,7 +2,7 @@ Profile: FrAssociatedEntity Parent: http://hl7.org/cda/stds/core/StructureDefinition/AssociatedEntity Id: fr-core-associated-entity -Title: "associatedEntity" +Title: "CDA - associatedEntity" Description: "L'élément de l'en-tête du CDA associatedEntity permet de représenter les caractéristiques du professionnel et/ou de l'établissement participant." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAuthenticator.fsh b/input/fsh/ResourcesCDAEntete/FrAuthenticator.fsh index 5be669842bb..519996bc6f8 100644 --- a/input/fsh/ResourcesCDAEntete/FrAuthenticator.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAuthenticator.fsh @@ -2,7 +2,7 @@ Profile: FrAuthenticator Parent: http://hl7.org/cda/stds/core/StructureDefinition/Authenticator Id: fr-core-authenticator -Title: "authenticator" +Title: "CDA - authenticator" Description: "L'élément de l'en-tête du CDA authenticator permet de représenter le professionnel (personne physique) attestant la validité du contenu du document." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAuthor.fsh b/input/fsh/ResourcesCDAEntete/FrAuthor.fsh index ac6f9cb56c2..171160bacb5 100644 --- a/input/fsh/ResourcesCDAEntete/FrAuthor.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAuthor.fsh @@ -2,7 +2,7 @@ Profile: FrAuthor Parent: http://hl7.org/cda/stds/core/StructureDefinition/Author Id: fr-core-author -Title: "author" +Title: "CDA - author" Description: "L'élément de l'en-tête du CDA author permet d’enregistrer un auteur du document." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAuthoringDevice.fsh b/input/fsh/ResourcesCDAEntete/FrAuthoringDevice.fsh index fadfdd24a8e..51937137bdc 100644 --- a/input/fsh/ResourcesCDAEntete/FrAuthoringDevice.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAuthoringDevice.fsh @@ -2,7 +2,7 @@ Profile: FrAuthoringDevice Parent: http://hl7.org/cda/stds/core/StructureDefinition/AuthoringDevice Id: fr-core-authoring-device -Title: "authoringDevice" +Title: "CDA - authoringDevice" Description: "L'élément de l'en-tête du CDA authoringDevice contient les informations complémentaires si l’auteur est un système." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrAuthorization.fsh b/input/fsh/ResourcesCDAEntete/FrAuthorization.fsh index 0c0843a3a2c..4cdd0518a25 100644 --- a/input/fsh/ResourcesCDAEntete/FrAuthorization.fsh +++ b/input/fsh/ResourcesCDAEntete/FrAuthorization.fsh @@ -2,7 +2,7 @@ Profile: FrAuthorization Parent: http://hl7.org/cda/stds/core/StructureDefinition/Authorization Id: fr-core-authorization -Title: "authorization" +Title: "CDA - authorization" Description: "L'élément de l'en-tête du CDA authorization permet de documenter qu'un consentement éclairé a été obtenu et d'indiquer quel type de consentement a été fourni." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrClinicalDocument.fsh b/input/fsh/ResourcesCDAEntete/FrClinicalDocument.fsh index a3edec893e1..8ebb0d91fce 100644 --- a/input/fsh/ResourcesCDAEntete/FrClinicalDocument.fsh +++ b/input/fsh/ResourcesCDAEntete/FrClinicalDocument.fsh @@ -2,7 +2,7 @@ Profile: FrClinicalDocument Parent: http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument Id: fr-core-clinical-document -Title: "clinicalDocument" +Title: "CDA - clinicalDocument" Description: "L'élément de l'en-tête CDA 'ClinicalDocument' est l’élément racine d’un document médical." * ^status = #draft * realmCode 1..1 diff --git a/input/fsh/ResourcesCDAEntete/FrComponentOf.fsh b/input/fsh/ResourcesCDAEntete/FrComponentOf.fsh index 6f399b64251..576ed797e80 100644 --- a/input/fsh/ResourcesCDAEntete/FrComponentOf.fsh +++ b/input/fsh/ResourcesCDAEntete/FrComponentOf.fsh @@ -2,7 +2,7 @@ Profile: FrComponentOf Parent: http://hl7.org/cda/stds/core/StructureDefinition/ComponentOf Id: fr-core-component-of -Title: "componentOf" +Title: "CDA - componentOf" Description: "L'élément de l'en-tête du CDA componentOf permet d'associer le document à une prise en charge du patient/usager." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrCustodian.fsh b/input/fsh/ResourcesCDAEntete/FrCustodian.fsh index 3e49f80569f..269eb6e8d5c 100644 --- a/input/fsh/ResourcesCDAEntete/FrCustodian.fsh +++ b/input/fsh/ResourcesCDAEntete/FrCustodian.fsh @@ -2,7 +2,7 @@ Profile: FrCustodian Parent: http://hl7.org/cda/stds/core/StructureDefinition/Custodian Id: fr-core-custodian -Title: "custodian" +Title: "CDA - custodian" Description: "L'élément de l'en-tête du CDA custodian permet de représenter la structure chargée de la conservation du document." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrDataEnterer.fsh b/input/fsh/ResourcesCDAEntete/FrDataEnterer.fsh index 81f09113cdd..d66627cec73 100644 --- a/input/fsh/ResourcesCDAEntete/FrDataEnterer.fsh +++ b/input/fsh/ResourcesCDAEntete/FrDataEnterer.fsh @@ -2,7 +2,7 @@ Profile: FrDataEnterer Parent: http://hl7.org/cda/stds/core/StructureDefinition/DataEnterer Id: fr-core-data-enterer -Title: "dataEnterer" +Title: "CDA - dataEnterer" Description: "L'élément de l'en-tête du CDA dataEnterer contient les informations relatives à l’opérateur de saisie de tout ou partie du contenu du document." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrDocumentationOf.fsh b/input/fsh/ResourcesCDAEntete/FrDocumentationOf.fsh index cc391f074e3..34f134b23cd 100644 --- a/input/fsh/ResourcesCDAEntete/FrDocumentationOf.fsh +++ b/input/fsh/ResourcesCDAEntete/FrDocumentationOf.fsh @@ -2,7 +2,7 @@ Profile: FrDocumentationOf Parent: http://hl7.org/cda/stds/core/StructureDefinition/DocumentationOf Id: fr-core-documentation-of -Title: "documentationOf" +Title: "CDA - documentationOf" Description: "L'élément de l'en-tête du CDA documentationOf permet de représenter un évènement (acte, traitement, diagnostic, etc…) décrit dans le document. Il y a au minimum une occurrence de cet élément pour décrire l'évènement principal avec obligatoirement une date de début et un exécutant." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrEncompassingEncounter.fsh b/input/fsh/ResourcesCDAEntete/FrEncompassingEncounter.fsh index 272e1503f57..6ba7b222553 100644 --- a/input/fsh/ResourcesCDAEntete/FrEncompassingEncounter.fsh +++ b/input/fsh/ResourcesCDAEntete/FrEncompassingEncounter.fsh @@ -2,7 +2,7 @@ Profile: FrEncompassingEncounter Parent: http://hl7.org/cda/stds/core/StructureDefinition/EncompassingEncounter Id: fr-core-encompassing-encounter -Title: "encompassingEncounter" +Title: "CDA - encompassingEncounter" Description: "L'élément de l'en-tête du CDA encompassingEncounter permet de décrire la prise en charge du patient/usager par un professionnel ou par une structure." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrEncounterParticipant.fsh b/input/fsh/ResourcesCDAEntete/FrEncounterParticipant.fsh index 6dd5d2fca29..11aa2059700 100644 --- a/input/fsh/ResourcesCDAEntete/FrEncounterParticipant.fsh +++ b/input/fsh/ResourcesCDAEntete/FrEncounterParticipant.fsh @@ -2,7 +2,7 @@ Profile: FrEncounterParticipant Parent: http://hl7.org/cda/stds/core/StructureDefinition/EncounterParticipant Id: fr-core-encounter-participant -Title: "encounterParticipant" +Title: "CDA - encounterParticipant" Description: "L'élément de l'en-tête du CDA encounterParticipant permet de représenter la personne impliquée dans la prise en charge du patient/usager, comme par exemple, le professionnel co-responsable, le professionnel ayant fait l'admission ou encore le professionnel ayant donné son avis quant à la prise en charge." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrHealthCareFacility.fsh b/input/fsh/ResourcesCDAEntete/FrHealthCareFacility.fsh index 90d576234e4..e6390754ceb 100644 --- a/input/fsh/ResourcesCDAEntete/FrHealthCareFacility.fsh +++ b/input/fsh/ResourcesCDAEntete/FrHealthCareFacility.fsh @@ -2,7 +2,7 @@ Profile: FrHealthCareFacility Parent: http://hl7.org/cda/stds/core/StructureDefinition/HealthCareFacility Id: fr-core-health-care-facility -Title: "healthCareFacility" +Title: "CDA - healthCareFacility" Description: "L'élément de l'en-tête du CDA healthCareFacility permet de représenter la structure de prise en charge (cabinet du médecin, hôpital ou clinique, etc.)." * ^status = #draft * classCode 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrInFulfillmentOf.fsh b/input/fsh/ResourcesCDAEntete/FrInFulfillmentOf.fsh index bc0d6329cec..426df2ceca4 100644 --- a/input/fsh/ResourcesCDAEntete/FrInFulfillmentOf.fsh +++ b/input/fsh/ResourcesCDAEntete/FrInFulfillmentOf.fsh @@ -2,7 +2,7 @@ Profile: FrInFulfillmentOf Parent: http://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf Id: fr-core-inFulfillment-of -Title: "inFulfillmentOf" +Title: "CDA - inFulfillmentOf" Description: "L'élément de l'en-tête du CDA inFulfillmentOf permet d'associer un document à une prescription." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrInformant.fsh b/input/fsh/ResourcesCDAEntete/FrInformant.fsh index ce56369df1b..f803a60f2c7 100644 --- a/input/fsh/ResourcesCDAEntete/FrInformant.fsh +++ b/input/fsh/ResourcesCDAEntete/FrInformant.fsh @@ -2,7 +2,7 @@ Profile: FrInformant Parent: http://hl7.org/cda/stds/core/StructureDefinition/Informant Id: fr-core-informant -Title: "informant" +Title: "CDA - informant" Description: "L'élément de l'en-tête du CDA informant permet d'identifier un informateur, une personne de confiance, une personne à prévenir en cas d’urgence, un aidant ou une personne aidée." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrInformationRecipient.fsh b/input/fsh/ResourcesCDAEntete/FrInformationRecipient.fsh index 31941912ffd..6a6c340474d 100644 --- a/input/fsh/ResourcesCDAEntete/FrInformationRecipient.fsh +++ b/input/fsh/ResourcesCDAEntete/FrInformationRecipient.fsh @@ -2,7 +2,7 @@ Profile: FrInformationRecipient Parent: http://hl7.org/cda/stds/core/StructureDefinition/InformationRecipient Id: fr-core-information-recipient -Title: "informationRecipient" +Title: "CDA - informationRecipient" Description: "L'élément de l'en-tête du CDA informationRecipient permet d'enregistrer une personne déclarée comme destinataire prévu du document." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrIntendedRecipient.fsh b/input/fsh/ResourcesCDAEntete/FrIntendedRecipient.fsh index c12c8575df3..d97c4a936d1 100644 --- a/input/fsh/ResourcesCDAEntete/FrIntendedRecipient.fsh +++ b/input/fsh/ResourcesCDAEntete/FrIntendedRecipient.fsh @@ -2,7 +2,7 @@ Profile: FrIntendedRecipient Parent: http://hl7.org/cda/stds/core/StructureDefinition/IntendedRecipient Id: fr-core-intended-recipient -Title: "intendedRecipient" +Title: "CDA - intendedRecipient" Description: "L'élément de l'en-tête du CDA intendedRecipient permet d'enregistrer le destinataire prévu du document." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrLegalAuthenticator.fsh b/input/fsh/ResourcesCDAEntete/FrLegalAuthenticator.fsh index 89c649f1ba5..56187f6f21b 100644 --- a/input/fsh/ResourcesCDAEntete/FrLegalAuthenticator.fsh +++ b/input/fsh/ResourcesCDAEntete/FrLegalAuthenticator.fsh @@ -2,7 +2,7 @@ Profile: FrLegalAuthenticator Parent: http://hl7.org/cda/stds/core/StructureDefinition/LegalAuthenticator Id: fr-core-legal-authenticator -Title: "legalAuthenticator" +Title: "CDA - legalAuthenticator" Description: "L'élément de l'en-tête du CDA legalAuthenticator permet de représenter les caractéristiques du professionnel et/ou de l'établissement participant." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrName.fsh b/input/fsh/ResourcesCDAEntete/FrName.fsh index bf32228eca8..2a740f3de6b 100644 --- a/input/fsh/ResourcesCDAEntete/FrName.fsh +++ b/input/fsh/ResourcesCDAEntete/FrName.fsh @@ -1,7 +1,7 @@ Logical: FrName Parent: http://hl7.org/cda/stds/core/StructureDefinition/PN Id: fr-core-name -Title: "name" +Title: "CDA - name" Description: "L'élément de l'en-tête du CDA name correspond au nom d'une personne physique." * ^status = #draft * item.delimiter 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrOrder.fsh b/input/fsh/ResourcesCDAEntete/FrOrder.fsh index c88f4b1a98a..98a7a4d7b62 100644 --- a/input/fsh/ResourcesCDAEntete/FrOrder.fsh +++ b/input/fsh/ResourcesCDAEntete/FrOrder.fsh @@ -2,7 +2,7 @@ Profile: FrOrder Parent: http://hl7.org/cda/stds/core/StructureDefinition/Order Id: fr-core-order -Title: "order" +Title: "CDA - order" Description: "L'élément de l'en-tête du CDA order permet de représenter la prescription à l’origine de l’acte dont résulte le document." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrParentDocument.fsh b/input/fsh/ResourcesCDAEntete/FrParentDocument.fsh index 61fe68c4394..5d76608007b 100644 --- a/input/fsh/ResourcesCDAEntete/FrParentDocument.fsh +++ b/input/fsh/ResourcesCDAEntete/FrParentDocument.fsh @@ -2,7 +2,7 @@ Profile: FrParentDocument Parent: http://hl7.org/cda/stds/core/StructureDefinition/ParentDocument Id: fr-core-parent-document -Title: "parentDocument" +Title: "CDA - parentDocument" Description: "L'élément de l'en-tête du CDA parentDocument permet de représenter le document de référence." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrParticipant.fsh b/input/fsh/ResourcesCDAEntete/FrParticipant.fsh index 0100b3350f3..e23189d30a3 100644 --- a/input/fsh/ResourcesCDAEntete/FrParticipant.fsh +++ b/input/fsh/ResourcesCDAEntete/FrParticipant.fsh @@ -2,7 +2,7 @@ Profile: FrParticipant Parent: http://hl7.org/cda/stds/core/StructureDefinition/Participant1 Id: fr-core-participant -Title: "participant" +Title: "CDA - participant" Description: "L'élément de l'en-tête du CDA participant permet de représenter toute personne/structure impliquée dans les évènements décrits par le document qui n’a pas été mentionné ailleurs." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrPatient.fsh b/input/fsh/ResourcesCDAEntete/FrPatient.fsh index 3ee62807c3c..f6805718738 100644 --- a/input/fsh/ResourcesCDAEntete/FrPatient.fsh +++ b/input/fsh/ResourcesCDAEntete/FrPatient.fsh @@ -2,7 +2,7 @@ Profile: FrPatient Parent: http://hl7.org/cda/stds/core/StructureDefinition/Patient Id: fr-core-patient -Title: "patient" +Title: "CDA - patient" Description: "L'élément de l'en-tête du CDA patient permet de représenter une personne physique." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrPatientRole.fsh b/input/fsh/ResourcesCDAEntete/FrPatientRole.fsh index 54b88d33d9b..8a43da3e3b6 100644 --- a/input/fsh/ResourcesCDAEntete/FrPatientRole.fsh +++ b/input/fsh/ResourcesCDAEntete/FrPatientRole.fsh @@ -2,7 +2,7 @@ Profile: FrPatientRole Parent: http://hl7.org/cda/stds/core/StructureDefinition/PatientRole Id: fr-core-patient-role -Title: "patientRole" +Title: "CDA - patientRole" Description: "L'élément de l'en-tête du CDA patientRole permet de décrire le patient/usager." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrPerformer.fsh b/input/fsh/ResourcesCDAEntete/FrPerformer.fsh index f0f940cdfd8..e45d3233632 100644 --- a/input/fsh/ResourcesCDAEntete/FrPerformer.fsh +++ b/input/fsh/ResourcesCDAEntete/FrPerformer.fsh @@ -2,7 +2,7 @@ Profile: FrPerformer Parent: http://hl7.org/cda/stds/core/StructureDefinition/Performer1 Id: fr-core-performer -Title: "performer" +Title: "CDA - performer" Description: "L'élément de l'en-tête du CDA performer permet de représenter l'exécutant de l’évènement documenté. Il est obligatoire et son attribut nullFlavor interdit pour l’évènement documenté principal." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrRecordTarget.fsh b/input/fsh/ResourcesCDAEntete/FrRecordTarget.fsh index a886b44dbfb..feb93331630 100644 --- a/input/fsh/ResourcesCDAEntete/FrRecordTarget.fsh +++ b/input/fsh/ResourcesCDAEntete/FrRecordTarget.fsh @@ -2,7 +2,7 @@ Profile: FrRecordTarget Parent: http://hl7.org/cda/stds/core/StructureDefinition/RecordTarget Id: fr-core-record-target -Title: "recordTarget" +Title: "CDA - recordTarget" Description: "L'élément de l'en-tête du CDA recordTarget permet de représenter le patient/usager concerné par le document." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrRelatedDocument.fsh b/input/fsh/ResourcesCDAEntete/FrRelatedDocument.fsh index a956d4384ff..07ed485e514 100644 --- a/input/fsh/ResourcesCDAEntete/FrRelatedDocument.fsh +++ b/input/fsh/ResourcesCDAEntete/FrRelatedDocument.fsh @@ -2,7 +2,7 @@ Profile: FrRelatedDocument Parent: http://hl7.org/cda/stds/core/StructureDefinition/RelatedDocument Id: fr-core-related-document -Title: "relatedDocument" +Title: "CDA - relatedDocument" Description: "L'élément de l'en-tête du CDA relatedDocument permet de référencer un document existant (à remplacer ou transformé)." * ^status = #draft * typeId.nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrRelatedEntity.fsh b/input/fsh/ResourcesCDAEntete/FrRelatedEntity.fsh index fc50acf3d7e..0940fa4974a 100644 --- a/input/fsh/ResourcesCDAEntete/FrRelatedEntity.fsh +++ b/input/fsh/ResourcesCDAEntete/FrRelatedEntity.fsh @@ -2,7 +2,7 @@ Profile: FrRelatedEntity Parent: http://hl7.org/cda/stds/core/StructureDefinition/RelatedEntity Id: fr-core-related-entity -Title: "relatedEntity" +Title: "CDA - relatedEntity" Description: "L'élément de l'en-tête du CDA relatedEntity permet de décrire : un informateur non professionnel, une personne de confiance, une personne à prévenir en cas d’urgence, un aidant ou une personne aidée." * ^status = #draft * nullFlavor 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrRepresentedCustodianOrganization.fsh b/input/fsh/ResourcesCDAEntete/FrRepresentedCustodianOrganization.fsh index 78152cf5540..0ec0978aa26 100644 --- a/input/fsh/ResourcesCDAEntete/FrRepresentedCustodianOrganization.fsh +++ b/input/fsh/ResourcesCDAEntete/FrRepresentedCustodianOrganization.fsh @@ -2,7 +2,7 @@ Profile: FrRepresentedCustodianOrganization Parent: http://hl7.org/cda/stds/core/StructureDefinition/CustodianOrganization Id: fr-core-represented-custodian-organization -Title: "representedCustodianOrganization" +Title: "CDA - representedCustodianOrganization" Description: "L'élément de l'en-tête du CDA representedCustodianOrganization contient les éléments caractérisant la structure conservant le document, à savoir l'identifiant, le nom, les adresses géopostales et de télécommunication." * ^status = #draft * classCode 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrRepresentedOrganization.fsh b/input/fsh/ResourcesCDAEntete/FrRepresentedOrganization.fsh index 648cf8ccf11..8be6c4225dd 100644 --- a/input/fsh/ResourcesCDAEntete/FrRepresentedOrganization.fsh +++ b/input/fsh/ResourcesCDAEntete/FrRepresentedOrganization.fsh @@ -2,7 +2,7 @@ Profile: FrRepresentedOrganization Parent: http://hl7.org/cda/stds/core/StructureDefinition/Organization Id: fr-core-represented-organization -Title: "representedOrganization" +Title: "CDA - representedOrganization" Description: "L'élément de l'en-tête du CDA representedOrganization permet de représenter la structure pour le compte de laquelle intervient le professionnel." * ^status = #draft * classCode 0..0 diff --git a/input/fsh/ResourcesCDAEntete/FrServiceEvent.fsh b/input/fsh/ResourcesCDAEntete/FrServiceEvent.fsh index 82e9466be79..c3b96c5f0c4 100644 --- a/input/fsh/ResourcesCDAEntete/FrServiceEvent.fsh +++ b/input/fsh/ResourcesCDAEntete/FrServiceEvent.fsh @@ -2,7 +2,7 @@ Profile: FrServiceEvent Parent: http://hl7.org/cda/stds/core/StructureDefinition/ServiceEvent Id: fr-core-service-event -Title: "serviceEvent" +Title: "CDA - serviceEvent" Description: "L'élément de l'en-tête du CDA serviceEvent permet de représenter un évènement (acte, traitement, diagnostic, etc…) décrit dans le document. L'occurrence de documentationOf/serviceEvent contenant les données de l’évènement documenté principal doit inclure un élément effectiveTime et un élément performer renseignés, sans recours à l'attribut nullFlavor." * ^status = #draft diff --git a/input/pagecontent/exigencesSpecifiques.md b/input/pagecontent/exigencesSpecifiques.md index 4505d393288..62c4edb660c 100644 --- a/input/pagecontent/exigencesSpecifiques.md +++ b/input/pagecontent/exigencesSpecifiques.md @@ -64,37 +64,4 @@ Par exemple : une synthèse médicale rédigée par le médecin traitant du pati #### Terminologies de références -##### Principe général - -Les données codées utilisées dans les documents doivent provenir des terminologies de référence définies dans le CI-SIS. - -Les terminologies de référence retenues dans le contexte français sont très généralement les mêmes que celles retenues dans le contexte international. - -Il est cependant possible, pour des raisons de non-disponibilité ou de non-utilisation sur le territoire français, que la terminologie de référence en France soit différente que celle choisie au niveau international. - -Par exemple, le codage des actes médicaux en France s'appuie très largement sur la CCAM. -Cette terminologie est une terminologie française et n'est évidemment pas celle qui a été choisie par les autres pays à l'international. - -Le Centre de terminologies de Santé (CGTS) de l'ANS est l'entité définissant les terminologies de références en concertation avec l'écosystème français et international. L'objectif est bien d'harmoniser les terminologies utilisées en France et à l'international. - -##### Terminologies et jeux de valeurs - -Les spécifications précisent, pour chaque donnée codée (code + displayName + codeSystem), s’il convient d’utiliser la **terminologie complète** ou un **jeu de valeurs** constitué des valeurs spécifiques au contexte clinique à décrire. - -Un jeu de valeurs peut être constitué à partir de terminologies différentes (internationales ou nationales) ou à partir de valeurs créées par l’ANS (terminologie TA_ASIP) lorsqu’une valeur n’existe dans aucune terminologie existante. - -##### Publication des terminologies et jeux de valeurs - -Les terminologies utilisées dans les documents du CI-SIS sont pour la majorité publiées sur le Serveur Multi-Terminologies (SMT) de l’ANS : [https://smt.esante.gouv.fr/.](https://smt.esante.gouv.fr/.) -Pour les terminologies qui ne sont pas publiées dans le SMT, se renseigner auprès de l'unité de production. -Les jeux de valeurs utilisées dans les documents du CI-SIS sont publiés : - -* sur l'[IG Terminologies de Santé](https://interop.esante.gouv.fr/ig/nos/1.3.0/index.html) - -Les terminologies publiées sur le SMT et les jeux de valeurs sont accessibles au format FHIR via : - -* les APIs FHIR du SMT - * Voir le guide d’exploitation de ces APIs : [https://industriels.esante.gouv.fr/sites/default/files/media/document/Global_features_FHIR_Server_version_finale_v5.pdf](https://industriels.esante.gouv.fr/sites/default/files/media/document/Global_features_FHIR_Server_version_finale_v5.pdf) - * Voir le swagger des APIs : [https://smt.esante.gouv.fr/api-docs/](https://smt.esante.gouv.fr/api-docs/) (aller sur API liées au serveur FHIR) - * Voir des exemples : [https://smt.esante.gouv.fr/formations/formations-specifiques/consommer-des-terminologies-et-des-jeux-de-valeurs-en-fhir-depuis-le-serveur-multi-terminologies-de-lans/](https://smt.esante.gouv.fr/formations/formations-specifiques/consommer-des-terminologies-et-des-jeux-de-valeurs-en-fhir-depuis-le-serveur-multi-terminologies-de-lans/) -* un Implantation Guide FHIR : [https://ansforge.github.io/IG-terminologie-de-sante/ig/main/](https://ansforge.github.io/IG-terminologie-de-sante/ig/main/) +Voir [https://ansforge.github.io/IG-terminologie-de-sante/ig/main/index.html](https://ansforge.github.io/IG-terminologie-de-sante/ig/main/index.html) diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 9833ed6d38e..34f26a6d7a4 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -56,11 +56,15 @@ Pour les terminologies qui ne sont pas publiées dans le SMT, se renseigner aupr ### Propriété intellectuelle + + +{% include ip-statements.xhtml %} ### Dépendances diff --git a/input/pagecontent/mappingCDA-FHIR-struc-gen.md b/input/pagecontent/mappingCDA-FHIR-struc-gen.md index 0ddc75e044b..755ee5d2284 100644 --- a/input/pagecontent/mappingCDA-FHIR-struc-gen.md +++ b/input/pagecontent/mappingCDA-FHIR-struc-gen.md @@ -14,27 +14,27 @@ Il est adapté pour intégrer le modèle métier (1ère colonne), indépendant d | Type de document | code | [1..1] | Composition.type | [1..1] | | Titre du document | title | [1..1] | Composition.title | [1..1] | | Date de création | effectiveTime | [1..1] | Composition.date | [1..1] | -| Niveau de confidentialité | confidentialityCode | [1..1] | Composition.confidentiality | [0..1] | -| Langue | languageCode | [1..1] | Composition.language | [0..1] | -| Identifiant lot de versions | setId | [1..1] | Composition.identifier | [0..1] | -| Version du document | versionNumber | [1..1] | Composition.extension:R5-Composition-version | [0..1] | +| Niveau de confidentialité | confidentialityCode | [1..1] | Composition.confidentiality | [1..1] | +| Langue | languageCode | [1..1] | Composition.language | [1..1] | +| Identifiant lot de versions | setId | [1..1] | Composition.identifier | [1..1] | +| Version du document | versionNumber | [1..1] | Composition.extension:R5-Composition-version | [1..1] | | Statut du document | | | Composition.status | [1..1] | -| Patient / Usager | recordTarget | [1..1] | Composition.subject | [0..1] | +| Patient / Usager | recordTarget | [1..1] | Composition.subject | [1..1] | | Auteur | author | [1..*] | Composition.author | [1..*] | | Opérateur de saisie | dataEnterer | [0..1] | Composition.extension:data-enterer | [0..1]| | Informateur | informant | [0..*] | Composition.extension:informant | [0..*]| | Informateur : Personne de confiance, Personne à prévenir en cas d'urgence, Aidant, Aidé | informant | [0..*] | Composition.subject (ressource Patient / Patient.contact) | [0..*] | | Structure chargée de la conservation du document | custodian | [1..1] | Composition.custodian |[1..1] | | Destinataire prévu du document | informationRecipient | [0..*] | Composition.extension:informationRecipient | [0..*] | -| Responsable du document | legalAuthenticator | [1..1] | Composition.attester | [0..*] | -| Professionnel attestant la validité du contenu du document | authenticator | [0..*] | Composition.attester | [0..*] | +| Responsable du document | legalAuthenticator | [1..1] | Composition.attester (legal) | [1..1] | +| Professionnel attestant la validité du contenu du document | authenticator | [0..*] | Composition.attester (professional) | [0..*] | | Autres personnes / structures impliquées | participant | [0..*] | Composition.extension:participant | [0..*] | -| Médecin traitant | participant | | Composition.subject (ressource Patient / Patient.generalPractitioner) | [0..*] | +| Médecin traitant | participant | [0..*] | Composition.subject (ressource Patient / Patient.generalPractitioner) | [0..*] | | Association du document à une prescription | inFulfillmentOf | [0..*] | Composition.extension:order | [0..*] | -| Évènement documenté | documentationOf | [1..*] | Composition.event | [0..*] | -| Document de référence | relatedDocument | [0..1] | Composition.relatesTo | [0..*] | +| Évènement documenté | documentationOf | [1..*] | Composition.event | [1..*] | +| Document de référence | relatedDocument | [0..1] | Composition.relatesTo | [0..1] | | Consentement associé au document | authorization | [0..*] | Composition.extension:consent | [0..*]| -| Association du document à une prise en charge | componentOf | [1..1] | Composition.encounter | [0..1] | +| Association du document à une prise en charge | componentOf | [1..1] | Composition.encounter | [1..1] | | **Corps du document** | component / structuredBody ou nonXMLBody | | | | | Sections | section | [1..*] | Composition.section | [1..*] | | | | | **Bundle.entry suivantes** | [0..*] | diff --git a/input/pagecontent/ressourcesCDA-entete.md b/input/pagecontent/ressourcesCDA-entete.md index 0cdcb2efea2..cd864903fc6 100644 --- a/input/pagecontent/ressourcesCDA-entete.md +++ b/input/pagecontent/ressourcesCDA-entete.md @@ -20,11 +20,11 @@ ClinicalDocument hérite de : [https://hl7.org/cda/stds/core/2.0.1-sd/StructureD | | **templateId** | [3..*] | Déclarations de conformité | nullFlavor interdit | | | **id** | [1..1] | Identifiant unique du document | nullFlavor interdit | | | **code** | [1..1] | Type de document | nullFlavor interdit | -| | **title** | [0..1] | Titre du document | nullFlavor interdit | +| | **title** | [1..1] | Titre du document | nullFlavor interdit | | | **effectiveTime** | [1..1] | Date et heure de création du document | nullFlavor interdit | | | **confidentialityCode** | [1..1] | Niveau de confidentialité du document | nullFlavor interdit | | | **languageCode** | [1..1] | Langue principale du document | nullFlavor interdit | -| | **setId** | [0..1] | Identifiant du lot de versions du même document | nullFlavor interdit | +| | **setId** | [1..1] | Identifiant du lot de versions du même document | nullFlavor interdit | | | **versionNumber** | [1..1] | Numéro de version du document | nullFlavor interdit | | | **copyTime** | [0..1] | *Date et heure de remise - Élément obsolète à ne pas utiliser.* | | | | [recordTarget](StructureDefinition-fr-core-record-target.html#tabs-snap) | [1..1] | Patient/Usager concerné par le document | nullFlavor interdit | diff --git a/input/pagecontent/ressourcesCDA-struc-gen.md b/input/pagecontent/ressourcesCDA-struc-gen.md index 0b30bd432a8..c607b303dbb 100644 --- a/input/pagecontent/ressourcesCDA-struc-gen.md +++ b/input/pagecontent/ressourcesCDA-struc-gen.md @@ -414,7 +414,7 @@ L'attribut `inversionInd` (valeur booléenne) permet d’inverser la relation d Exemples : -* si `typeCode="RSON"` et `inversionInd="false"", alors TARGET est la raison de SOURCE. +* si `typeCode="RSON"` et `inversionInd="false"`, alors TARGET est la raison de SOURCE. * si `typeCode="RSON"` et `inversionInd="true"`, alors SOURCE est la raison de TARGET. ##### nullFlavor diff --git a/sushi-config.yaml b/sushi-config.yaml index 7e8d943fe46..f36f50a24a8 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -105,7 +105,7 @@ groups: - Auteur - PersonneStructure - PersonneStructureAuteur - - Systeme + - SystemeStructureAuteur - Informateur - StructureConservation - DestinatairePrevu @@ -113,11 +113,11 @@ groups: - Validateur - OperateurSaisie - Participant - - AssociationPrescription + - Prescription - Evenement - - DocumentReference + - DocumentDeReference - Consentement - - AssociationPriseEncharge + - PriseEncharge Ressources CDA: name: Eléments CDA