diff --git a/.github/.tmp/.generated-actions/run-pypi-publish-in-docker-container/action.yml b/.github/.tmp/.generated-actions/run-pypi-publish-in-docker-container/action.yml
new file mode 100644
index 0000000000..806b6bcada
--- /dev/null
+++ b/.github/.tmp/.generated-actions/run-pypi-publish-in-docker-container/action.yml
@@ -0,0 +1 @@
+{"name": "đ", "description": "Run Docker container to upload Python distribution packages to PyPI", "inputs": {"user": {"description": "PyPI user", "required": false}, "password": {"description": "Password for your PyPI user or an access token", "required": false}, "repository-url": {"description": "The repository URL to use", "required": false}, "packages-dir": {"description": "The target directory for distribution", "required": false}, "verify-metadata": {"description": "Check metadata before uploading", "required": false}, "skip-existing": {"description": "Do not fail if a Python package distribution exists in the target package index", "required": false}, "verbose": {"description": "Show verbose output.", "required": false}, "print-hash": {"description": "Show hash values of files to be uploaded", "required": false}, "attestations": {"description": "[EXPERIMENTAL] Enable experimental support for PEP 740 attestations. Only works with PyPI and TestPyPI via Trusted Publishing.", "required": false}}, "runs": {"using": "docker", "image": "docker://ghcr.io/pypa/gh-action-pypi-publish:release-v1"}}
\ No newline at end of file
diff --git a/.github/workflows/generate-libs.yaml b/.github/workflows/generate-libs.yaml
index 28e826d12d..f780b0843c 100644
--- a/.github/workflows/generate-libs.yaml
+++ b/.github/workflows/generate-libs.yaml
@@ -42,16 +42,16 @@ jobs:
COMMIT_SHA="${{ github.event.workflow_run.head_sha }}"
SHORT_COMMIT_SHA=${COMMIT_SHA::7}
# Remplace le "+" par "-" et les autres caractÚres non autorisés par des "."
- SAFE_BRANCH=$(echo "${{ github.event.workflow_run.head_branch }}" | sed 's/[^a-zA-Z0-9]/./g')
- RELEASE_VERSION="0.0.0-${SAFE_BRANCH}.$SHORT_COMMIT_SHA.${{ github.run_attempt }}"
+ SAFE_BRANCH=$(echo "${{ github.event.workflow_run.head_branch }}" | sed 's/[^a-zA-Z0-9]/-/g')
+ RELEASE_VERSION="0.0.0.dev${{ github.run_attempt }}-${SAFE_BRANCH}-$SHORT_COMMIT_SHA-${{ github.run_attempt }}"
else
echo "Workflow triggered via unsupported event"
exit 1
fi
- # Make the RELEASE_VERSION semver compatible (replacing non letter/digit/./+ chars with .)
- RELEASE_VERSION=$(echo "$RELEASE_VERSION" | sed 's/[^a-zA-Z0-9\.\+]/./g')
+ # Make the RELEASE_VERSION semver compatible (replacing non letter/digit/./+/- chars with .)
+ RELEASE_VERSION=$(echo "$RELEASE_VERSION" | sed 's/[^a-zA-Z0-9\.\+\-]/./g')
# Display the RELEASE_VERSION for verification
echo "The RELEASE_VERSION is: $RELEASE_VERSION"
@@ -78,8 +78,9 @@ jobs:
- name: Cleaning output directories
run: |
- rm -r generator_ruby/gem/ generator_python/package/ generator_csharp/package/ || true
+ rm -r generator_ruby/gem/ generator_python/package/ generator_csharp/package/ generator_php-symfony/package || true
+ # Python
- name: Python - Generate classes
working-directory: ./generator_python
run: |
@@ -153,6 +154,7 @@ jobs:
with:
packages-dir: ./generator_python/package/dist/
+ # Ruby
- name: Ruby - Generate classes
working-directory: ./generator_ruby
run: |
@@ -205,6 +207,7 @@ jobs:
env:
GEM_HOST_API_KEY: ${{ secrets.GITHUB_TOKEN }} # GitHub token used to authenticate
+ # C#
- name: C# - Generate classes
working-directory: ./generator_csharp
run: |
@@ -247,6 +250,20 @@ jobs:
# run: |
# dotnet nuget push bin/Release/*.nupkg --source https://nuget.pkg.github.com/ansforge/index.json --api-key ${{ secrets.GITHUB_TOKEN }}
+ # Php-symfony
+ - name: PHP - Generate classes
+ working-directory: ./generator_php-symfony
+ run: |
+ # Iterate over each file in the ./config directory, including the entire subfolder structure
+ # and then run @openapitools/openapi-generator-cli generate for each file found
+ # Important notice:
+ # Results of the find command are sorted in an alphabetic order before being passed to xargs
+ # This means that since the order of class generation is important, it's necessary to maintain an adequately
+ # named file structure in the ./config/** directories
+ # generator-config.json (if exists) -> usecase.generator-config.json -> wrapper.generator-config.json
+ # Add "| head -n 1" after sort for faster iterations while developing
+ find ./config/ -type f | sort -n | while read -r file; do npx @openapitools/openapi-generator-cli generate -c "$file" --skip-validate-spec; done
+
- name: Commit and push changes
if: ${{ !env.ACT }}
uses: stefanzweifel/git-auto-commit-action@v5
diff --git a/.github/workflows/generate-model.yaml b/.github/workflows/generate-model.yaml
index 9c5b421684..91868737ff 100644
--- a/.github/workflows/generate-model.yaml
+++ b/.github/workflows/generate-model.yaml
@@ -103,14 +103,21 @@ jobs:
./automatic-generator.sh
# Move generated OpenAPI config files to the corresponding locations
+ # Java
rm -r ../generator/config/generated || true
rsync -a --remove-source-files output/generator ..
+ # Ruby
rm -r ../generator_ruby/config/generated || true
rsync -a --remove-source-files output/generator_ruby ..
+ # python
rm -r ../generator_python/config/generated || true
rsync -a --remove-source-files output/generator_python ..
+ # C#
rm -r ../generator_csharp/config/generated || true
rsync -a --remove-source-files output/generator_csharp ..
+ # php-symfony
+ rm -r ../generator_php-symfony/config/generated || true
+ rsync -a --remove-source-files output/generator_php-symfony ..
# Move generated EDXL-DE and JSON Schemas to the corresponding locations
rsync -a --remove-source-files output/edxl ../src/main/java/com/hubsante/model
diff --git a/automatic-schema-generator/automatic-generator.sh b/automatic-schema-generator/automatic-generator.sh
index df8eb2408e..fe39396bf9 100755
--- a/automatic-schema-generator/automatic-generator.sh
+++ b/automatic-schema-generator/automatic-generator.sh
@@ -2,10 +2,16 @@
# required for each schema
# Generate config files for each language
-for lang in "." "ruby" "python" "csharp"; do
+for lang in "." "ruby" "python" "csharp" "php-symfony"; do
# generate base generator config files
gomplate -f "./templates/$lang/schema.generator-config.json.tmpl" -d config=./schemas.yaml
+ # generate usecase and wrapper overwrite configs only for Java
+ if [ "$lang" == "php-symfony" ]; then
+ # generate wrapper config files
+ gomplate -f "./templates/$lang/schema.wrapper.generator-config.json.tmpl" -d config=./schemas.yaml
+ fi
+
# generate usecase and wrapper overwrite configs only for Java
if [ "$lang" == "." ]; then
# generate usecase config files
diff --git a/automatic-schema-generator/templates/php-symfony/schema.generator-config.json.tmpl b/automatic-schema-generator/templates/php-symfony/schema.generator-config.json.tmpl
new file mode 100644
index 0000000000..52e80c33bc
--- /dev/null
+++ b/automatic-schema-generator/templates/php-symfony/schema.generator-config.json.tmpl
@@ -0,0 +1,37 @@
+{{ define "generator-config" }}{
+ "inputSpec": "../generator/input/{{.schema}}.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\{{.package}}",
+ "packageName": "hubsante_model.{{ .package }}",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
+{{ end }}
+{{- range (datasource "config").schemas }}
+ {{ if and (eq .automaticGeneration "Y") (eq .subschema "N") }}
+ {{- tmpl.Exec "generator-config" . | file.Write (printf "output/generator_php-symfony/config/generated/%s/%s.generator-config.json" .schema .schema) }}
+ {{end}}
+{{end}}
\ No newline at end of file
diff --git a/automatic-schema-generator/templates/php-symfony/schema.wrapper.generator-config.json.tmpl b/automatic-schema-generator/templates/php-symfony/schema.wrapper.generator-config.json.tmpl
new file mode 100644
index 0000000000..45a25d3960
--- /dev/null
+++ b/automatic-schema-generator/templates/php-symfony/schema.wrapper.generator-config.json.tmpl
@@ -0,0 +1,38 @@
+{{ define "wrapper.generator-config" }}{
+ "inputSpec": "../generator/input/{{.schema}}.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "{{.rootElement}}Wrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\{{.package}}",
+ "packageName": "hubsante_model.{{ .package }}",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
+{{ end }}
+{{- range (datasource "config").schemas }}
+ {{ if eq .automaticGeneration "Y" }}
+ {{- tmpl.Exec "wrapper.generator-config" . | file.Write (printf "output/generator_php-symfony/config/generated/%s/%s.wrapper.generator-config.json" .schema .schema) }}
+ {{end}}
+{{end}}
diff --git a/csv_parser/models/.gitkeep b/csv_parser/models/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/csv_parser/out/EMSI/EMSI.schema.docx b/csv_parser/out/EMSI/EMSI.schema.docx
index f2e90ed987..d4f88c428f 100644
Binary files a/csv_parser/out/EMSI/EMSI.schema.docx and b/csv_parser/out/EMSI/EMSI.schema.docx differ
diff --git a/csv_parser/out/EMSI/EMSI.uml_diagram.pdf b/csv_parser/out/EMSI/EMSI.uml_diagram.pdf
index 0d9a038203..9c334ad052 100644
Binary files a/csv_parser/out/EMSI/EMSI.uml_diagram.pdf and b/csv_parser/out/EMSI/EMSI.uml_diagram.pdf differ
diff --git a/csv_parser/out/GEO-POS/GEO-POS.schema.docx b/csv_parser/out/GEO-POS/GEO-POS.schema.docx
index bfe0037df0..ee37106426 100644
Binary files a/csv_parser/out/GEO-POS/GEO-POS.schema.docx and b/csv_parser/out/GEO-POS/GEO-POS.schema.docx differ
diff --git a/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf b/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf
index e4be094692..8958b885be 100644
Binary files a/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf and b/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf differ
diff --git a/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx b/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx
index ce209b11f5..c89a3984a1 100644
Binary files a/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx and b/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx differ
diff --git a/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf b/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf
index d530d88ec5..b06d0abe19 100644
Binary files a/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf and b/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf differ
diff --git a/csv_parser/out/GEO-RES/GEO-RES.schema.docx b/csv_parser/out/GEO-RES/GEO-RES.schema.docx
index cf242120e7..842ddda874 100644
Binary files a/csv_parser/out/GEO-RES/GEO-RES.schema.docx and b/csv_parser/out/GEO-RES/GEO-RES.schema.docx differ
diff --git a/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf b/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf
index a7ae8a3412..6e59b20635 100644
Binary files a/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf and b/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf differ
diff --git a/csv_parser/out/RC-DE/RC-DE.schema.docx b/csv_parser/out/RC-DE/RC-DE.schema.docx
index 7ddf2a8206..ad0217087b 100644
Binary files a/csv_parser/out/RC-DE/RC-DE.schema.docx and b/csv_parser/out/RC-DE/RC-DE.schema.docx differ
diff --git a/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf b/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf
index 8f827fd246..4ecf772f8f 100644
Binary files a/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf and b/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf differ
diff --git a/csv_parser/out/RC-EDA/RC-EDA.schema.docx b/csv_parser/out/RC-EDA/RC-EDA.schema.docx
index 0f003080a7..d1f76fe785 100644
Binary files a/csv_parser/out/RC-EDA/RC-EDA.schema.docx and b/csv_parser/out/RC-EDA/RC-EDA.schema.docx differ
diff --git a/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf b/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf
index ff3263f68d..c106b9a628 100644
Binary files a/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf and b/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf differ
diff --git a/csv_parser/out/RC-REF/RC-REF.schema.docx b/csv_parser/out/RC-REF/RC-REF.schema.docx
index 96fa9e9d90..4540af1de6 100644
Binary files a/csv_parser/out/RC-REF/RC-REF.schema.docx and b/csv_parser/out/RC-REF/RC-REF.schema.docx differ
diff --git a/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf b/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf
index beea58e292..f5780f92ba 100644
Binary files a/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf and b/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf differ
diff --git a/csv_parser/out/RC-RI/RC-RI.schema.docx b/csv_parser/out/RC-RI/RC-RI.schema.docx
index 9831d3cab6..cde3b066b1 100644
Binary files a/csv_parser/out/RC-RI/RC-RI.schema.docx and b/csv_parser/out/RC-RI/RC-RI.schema.docx differ
diff --git a/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf b/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf
index 0ed4927753..a7206c67a7 100644
Binary files a/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf and b/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-BPV/RS-BPV.schema.docx b/csv_parser/out/RS-BPV/RS-BPV.schema.docx
index ba73a5e6d6..e933a2486c 100644
Binary files a/csv_parser/out/RS-BPV/RS-BPV.schema.docx and b/csv_parser/out/RS-BPV/RS-BPV.schema.docx differ
diff --git a/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf b/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf
index c01758f193..7a878c420a 100644
Binary files a/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf and b/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-DR/RS-DR.schema.docx b/csv_parser/out/RS-DR/RS-DR.schema.docx
index 0fcec62900..59ec209175 100644
Binary files a/csv_parser/out/RS-DR/RS-DR.schema.docx and b/csv_parser/out/RS-DR/RS-DR.schema.docx differ
diff --git a/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf b/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf
index f6e4da226b..762f30da24 100644
Binary files a/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf and b/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx
index 4eadd3a9ef..3d41f02b88 100644
Binary files a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx and b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx differ
diff --git a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf
index eb5c7be732..65f542fe36 100644
Binary files a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf and b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-EDA/RS-EDA.schema.docx b/csv_parser/out/RS-EDA/RS-EDA.schema.docx
index fe0041c07d..c26addac2c 100644
Binary files a/csv_parser/out/RS-EDA/RS-EDA.schema.docx and b/csv_parser/out/RS-EDA/RS-EDA.schema.docx differ
diff --git a/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf b/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf
index a98bb110ac..55ef969179 100644
Binary files a/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf and b/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-ER/RS-ER.schema.docx b/csv_parser/out/RS-ER/RS-ER.schema.docx
index 7af9b1f830..7b8008a2fe 100644
Binary files a/csv_parser/out/RS-ER/RS-ER.schema.docx and b/csv_parser/out/RS-ER/RS-ER.schema.docx differ
diff --git a/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf b/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf
index f26342b5d0..e6b0355c88 100644
Binary files a/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf and b/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx b/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx
index e3e2018380..5161a50bc7 100644
Binary files a/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx and b/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx differ
diff --git a/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf b/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf
index af99327b0b..574c409b91 100644
Binary files a/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf and b/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-RI/RS-RI.schema.docx b/csv_parser/out/RS-RI/RS-RI.schema.docx
index 0393de2403..0936c7413a 100644
Binary files a/csv_parser/out/RS-RI/RS-RI.schema.docx and b/csv_parser/out/RS-RI/RS-RI.schema.docx differ
diff --git a/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf b/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf
index 0120e3c736..82a9682752 100644
Binary files a/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf and b/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx b/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx
index e0dfb36a6f..cf98c16b8a 100644
Binary files a/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx and b/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx differ
diff --git a/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf b/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf
index 2422c6b8f6..bc29b6e414 100644
Binary files a/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf and b/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-RR/RS-RR.schema.docx b/csv_parser/out/RS-RR/RS-RR.schema.docx
index 53f0e058bb..7b2ea024ae 100644
Binary files a/csv_parser/out/RS-RR/RS-RR.schema.docx and b/csv_parser/out/RS-RR/RS-RR.schema.docx differ
diff --git a/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf b/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf
index e331f1d742..9cb7757758 100644
Binary files a/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf and b/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx
index e40defd288..d285e62174 100644
Binary files a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx and b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx differ
diff --git a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf
index f03ae30019..77195ae4c6 100644
Binary files a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf and b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-SR/RS-SR.schema.docx b/csv_parser/out/RS-SR/RS-SR.schema.docx
index c0d8673f64..7d8aaa275e 100644
Binary files a/csv_parser/out/RS-SR/RS-SR.schema.docx and b/csv_parser/out/RS-SR/RS-SR.schema.docx differ
diff --git a/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf b/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf
index 2f00b8d44f..5bcef0f6d3 100644
Binary files a/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf and b/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf differ
diff --git a/csv_parser/out/RS-URL/RS-URL.schema.docx b/csv_parser/out/RS-URL/RS-URL.schema.docx
index edbb9c5a7a..64c4e32e70 100644
Binary files a/csv_parser/out/RS-URL/RS-URL.schema.docx and b/csv_parser/out/RS-URL/RS-URL.schema.docx differ
diff --git a/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf b/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf
index 97282fb0cd..27fadbc23a 100644
Binary files a/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf and b/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf differ
diff --git a/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx b/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx
index 42e266acae..0f4e2874d1 100644
Binary files a/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx and b/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx differ
diff --git a/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf b/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf
index 9d620e39ea..2f13f825cf 100644
Binary files a/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf and b/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf differ
diff --git a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx
index 3e8f0b94b6..002a659afb 100644
Binary files a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx and b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx differ
diff --git a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf
index f0e3b6a832..a3db9fcf45 100644
Binary files a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf and b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf differ
diff --git a/csv_parser/out/customContent/customContent.schema.docx b/csv_parser/out/customContent/customContent.schema.docx
index a3db1bc0b6..fca8b7a609 100644
Binary files a/csv_parser/out/customContent/customContent.schema.docx and b/csv_parser/out/customContent/customContent.schema.docx differ
diff --git a/csv_parser/out/customContent/customContent.uml_diagram.pdf b/csv_parser/out/customContent/customContent.uml_diagram.pdf
index b16a836971..953609a430 100644
Binary files a/csv_parser/out/customContent/customContent.uml_diagram.pdf and b/csv_parser/out/customContent/customContent.uml_diagram.pdf differ
diff --git a/generator/input/EDXL-DE.openapi.yaml b/generator/input/EDXL-DE.openapi.yaml
new file mode 100644
index 0000000000..5047fc426a
--- /dev/null
+++ b/generator/input/EDXL-DE.openapi.yaml
@@ -0,0 +1,100 @@
+openapi: 3.0.0
+components:
+ schemas:
+ EdxlMessage:
+ properties:
+ distributionID:
+ type: string
+ senderID:
+ type: string
+ dateTimeSent:
+ type: string
+ format: date-time
+ dateTimeExpires:
+ type: string
+ format: date-time
+ distributionStatus:
+ $ref: '#/components/schemas/DistributionStatus'
+ distributionKind:
+ $ref: '#/components/schemas/DistributionKind'
+ descriptor:
+ $ref: '#/components/schemas/Descriptor'
+ content:
+ $ref: '#/components/schemas/Content'
+ additionalProperties: false
+ required:
+ - distributionID
+ - senderID
+ - dateTimeSent
+ - dateTimeExpires
+ - distributionStatus
+ - distributionKind
+ - descriptor
+ - content
+ DistributionStatus:
+ type: string
+ enum:
+ - Actual
+ - Exercise
+ - System
+ - Test
+ - Unknown
+ - NoAppropriateDefault
+ DistributionKind:
+ type: string
+ enum:
+ - Report
+ - Update
+ - Cancel
+ - Request
+ - Response
+ - Dispatch
+ - Ack
+ - Error
+ - SensorConfiguration
+ - SensorControl
+ - SensorStatus
+ - SensorDetection
+ - Unknown
+ - NoAppropriateDefault
+ Descriptor:
+ properties:
+ language:
+ type: string
+ explicitAddress:
+ $ref: '#/components/schemas/ExplicitAddress'
+ additionalProperties: false
+ required:
+ - language
+ - explicitAddress
+ ExplicitAddress:
+ properties:
+ explicitAddressScheme:
+ type: string
+ explicitAddressValue:
+ type: string
+ additionalProperties: false
+ required:
+ - explicitAddressScheme
+ - explicitAddressValue
+ Content:
+ properties:
+ contentObject:
+ $ref: '#/components/schemas/ContentObject'
+ additionalProperties: false
+ required:
+ - contentObject
+ ContentObject:
+ properties:
+ jsonContent:
+ $ref: '#/components/schemas/JsonContent'
+ JsonContent:
+ properties:
+ embeddedJsonContent:
+ $ref: '#/components/schemas/EmbeddedJsonContent'
+ EmbeddedJsonContent:
+ properties:
+ message:
+ $ref: '#/components/schemas/ContentMessage'
+ ContentMessage:
+ type: object
\ No newline at end of file
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Contact.cs b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Contact.cs
new file mode 100644
index 0000000000..186f22f6a2
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Contact.cs
@@ -0,0 +1,149 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Cisu.resources.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Cisu.resources.Model
+{
+ ///
+ /// Contact
+ ///
+ [DataContract(Name = "contact")]
+ public partial class Contact : IValidatableObject
+ {
+ ///
+ /// A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ ///
+ /// A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum TypeEnum
+ {
+ ///
+ /// Enum EMAIL for value: EMAIL
+ ///
+ [EnumMember(Value = "EMAIL")]
+ EMAIL = 1,
+
+ ///
+ /// Enum FAX for value: FAX
+ ///
+ [EnumMember(Value = "FAX")]
+ FAX = 2,
+
+ ///
+ /// Enum MSS for value: MSS
+ ///
+ [EnumMember(Value = "MSS")]
+ MSS = 3,
+
+ ///
+ /// Enum POSTAL for value: POSTAL
+ ///
+ [EnumMember(Value = "POSTAL")]
+ POSTAL = 4,
+
+ ///
+ /// Enum RADIO for value: RADIO
+ ///
+ [EnumMember(Value = "RADIO")]
+ RADIO = 5,
+
+ ///
+ /// Enum TEL for value: TEL
+ ///
+ [EnumMember(Value = "TEL")]
+ TEL = 6,
+
+ ///
+ /// Enum WEB for value: WEB
+ ///
+ [EnumMember(Value = "WEB")]
+ WEB = 7
+ }
+
+
+ ///
+ /// A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ ///
+ /// A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ /*
+ example.json#/resource/0/contact/type
+ */
+ [DataMember(Name = "type", EmitDefaultValue = false)]
+ public TypeEnum? Type { get; set; }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// A valoriser avec le type de l'URI utilisée. Cf nomenclature associée..
+ /// A valoriser avec la valeur de l'URI utilisée Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}.
+ public Contact(TypeEnum? type = default(TypeEnum?), string details = default(string))
+ {
+ this.Type = type;
+ this.Details = details;
+ }
+
+ ///
+ /// A valoriser avec la valeur de l'URI utilisée Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}
+ ///
+ /// A valoriser avec la valeur de l'URI utilisée Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}
+ /*
+ example.json#/resource/0/contact/details
+ */
+ [DataMember(Name = "details", EmitDefaultValue = false)]
+ public string Details { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class Contact {\n");
+ sb.Append(" Type: ").Append(Type).Append("\n");
+ sb.Append(" Details: ").Append(Details).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Resource.cs b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Resource.cs
new file mode 100644
index 0000000000..cca8f8bc4f
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Resource.cs
@@ -0,0 +1,294 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Cisu.resources.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Cisu.resources.Model
+{
+ ///
+ /// Resource
+ ///
+ [DataContract(Name = "resource")]
+ public partial class Resource : IValidatableObject
+ {
+ ///
+ /// A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée
+ ///
+ /// A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum VehicleTypeEnum
+ {
+ ///
+ /// Enum SMUR for value: SMUR
+ ///
+ [EnumMember(Value = "SMUR")]
+ SMUR = 1,
+
+ ///
+ /// Enum SIS for value: SIS
+ ///
+ [EnumMember(Value = "SIS")]
+ SIS = 2
+ }
+
+
+ ///
+ /// A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée
+ ///
+ /// A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée
+ /*
+ example.json#/resource/0/vehicleType
+ */
+ [DataMember(Name = "vehicleType", IsRequired = true, EmitDefaultValue = true)]
+ public VehicleTypeEnum VehicleType { get; set; }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected Resource() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// A valoriser avec la date et heure d'engagement de la ressource/du vecteur (required).
+ /// A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource} (required).
+ /// A valoriser avec l'identifiant unique partagĂ© de la demande de ressource (si la ressource a Ă©tĂ© engagĂ©e suite Ă une demande de ressource), normĂ© comme suit : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - si un ID unique de la demande n'Ă©tait pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}.
+ /// A valoriser avec le numĂ©ro de mission unique du central dâappel (PSAP, âŠ) qui a dĂ©clenchĂ© le vecteur.
+ /// A valoriser avec l'identifiant de l'organisation à laquelle appartient la ressource, normé comme suit : {pays}.{domaine}.{organisation}.
+ /// A valoriser avec le lieu de garage principal.
+ /// A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée (required).
+ /// A valoriser avec le nom donnĂ© Ă la ressource par lâorganisation dâappartenance.
+ /// A valoriser avec le code INSEE de la commune du centre d'affectation.
+ /// team.
+ /// state (required).
+ /// contact.
+ /// freetext.
+ public Resource(DateTime datetime = default(DateTime), string resourceId = default(string), string requestId = default(string), string missionId = default(string), string orgId = default(string), string centerName = default(string), VehicleTypeEnum vehicleType = default(VehicleTypeEnum), string name = default(string), string centerCity = default(string), Team team = default(Team), State state = default(State), Contact contact = default(Contact), List freetext = default(List))
+ {
+ this.Datetime = datetime;
+ // to ensure "resourceId" is required (not null)
+ if (resourceId == null)
+ {
+ throw new ArgumentNullException("resourceId is a required property for Resource and cannot be null");
+ }
+ this.ResourceId = resourceId;
+ this.VehicleType = vehicleType;
+ // to ensure "state" is required (not null)
+ if (state == null)
+ {
+ throw new ArgumentNullException("state is a required property for Resource and cannot be null");
+ }
+ this.State = state;
+ this.RequestId = requestId;
+ this.MissionId = missionId;
+ this.OrgId = orgId;
+ this.CenterName = centerName;
+ this.Name = name;
+ this.CenterCity = centerCity;
+ this.Team = team;
+ this.Contact = contact;
+ this.Freetext = freetext;
+ }
+
+ ///
+ /// A valoriser avec la date et heure d'engagement de la ressource/du vecteur
+ ///
+ /// A valoriser avec la date et heure d'engagement de la ressource/du vecteur
+ [DataMember(Name = "datetime", IsRequired = true, EmitDefaultValue = true)]
+ public DateTime Datetime { get; set; }
+
+ ///
+ /// A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}
+ ///
+ /// A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}
+ /*
+ example.json#/resource/0/resourceId
+ */
+ [DataMember(Name = "resourceId", IsRequired = true, EmitDefaultValue = true)]
+ public string ResourceId { get; set; }
+
+ ///
+ /// A valoriser avec l'identifiant unique partagĂ© de la demande de ressource (si la ressource a Ă©tĂ© engagĂ©e suite Ă une demande de ressource), normĂ© comme suit : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - si un ID unique de la demande n'Ă©tait pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}
+ ///
+ /// A valoriser avec l'identifiant unique partagĂ© de la demande de ressource (si la ressource a Ă©tĂ© engagĂ©e suite Ă une demande de ressource), normĂ© comme suit : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - si un ID unique de la demande n'Ă©tait pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}
+ /*
+ example.json#/resource/0/requestId
+ */
+ [DataMember(Name = "requestId", EmitDefaultValue = false)]
+ public string RequestId { get; set; }
+
+ ///
+ /// A valoriser avec le numĂ©ro de mission unique du central dâappel (PSAP, âŠ) qui a dĂ©clenchĂ© le vecteur
+ ///
+ /// A valoriser avec le numĂ©ro de mission unique du central dâappel (PSAP, âŠ) qui a dĂ©clenchĂ© le vecteur
+ /*
+ example.json#/resource/0/missionId
+ */
+ [DataMember(Name = "missionId", EmitDefaultValue = false)]
+ public string MissionId { get; set; }
+
+ ///
+ /// A valoriser avec l'identifiant de l'organisation à laquelle appartient la ressource, normé comme suit : {pays}.{domaine}.{organisation}
+ ///
+ /// A valoriser avec l'identifiant de l'organisation à laquelle appartient la ressource, normé comme suit : {pays}.{domaine}.{organisation}
+ /*
+ example.json#/resource/0/orgId
+ */
+ [DataMember(Name = "orgId", EmitDefaultValue = false)]
+ public string OrgId { get; set; }
+
+ ///
+ /// A valoriser avec le lieu de garage principal
+ ///
+ /// A valoriser avec le lieu de garage principal
+ /*
+ example.json#/resource/0/centerName
+ */
+ [DataMember(Name = "centerName", EmitDefaultValue = false)]
+ public string CenterName { get; set; }
+
+ ///
+ /// A valoriser avec le nom donnĂ© Ă la ressource par lâorganisation dâappartenance
+ ///
+ /// A valoriser avec le nom donnĂ© Ă la ressource par lâorganisation dâappartenance
+ /*
+ example.json#/resource/0/name
+ */
+ [DataMember(Name = "name", EmitDefaultValue = false)]
+ public string Name { get; set; }
+
+ ///
+ /// A valoriser avec le code INSEE de la commune du centre d'affectation
+ ///
+ /// A valoriser avec le code INSEE de la commune du centre d'affectation
+ /*
+ example.json#/resource/0/centerCity
+ */
+ [DataMember(Name = "centerCity", EmitDefaultValue = false)]
+ public string CenterCity { get; set; }
+
+ ///
+ /// Gets or Sets Team
+ ///
+ [DataMember(Name = "team", EmitDefaultValue = false)]
+ public Team Team { get; set; }
+
+ ///
+ /// Gets or Sets State
+ ///
+ [DataMember(Name = "state", IsRequired = true, EmitDefaultValue = true)]
+ public State State { get; set; }
+
+ ///
+ /// Gets or Sets Contact
+ ///
+ [DataMember(Name = "contact", EmitDefaultValue = false)]
+ public Contact Contact { get; set; }
+
+ ///
+ /// Gets or Sets Freetext
+ ///
+ [DataMember(Name = "freetext", EmitDefaultValue = false)]
+ public List Freetext { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class Resource {\n");
+ sb.Append(" Datetime: ").Append(Datetime).Append("\n");
+ sb.Append(" ResourceId: ").Append(ResourceId).Append("\n");
+ sb.Append(" RequestId: ").Append(RequestId).Append("\n");
+ sb.Append(" MissionId: ").Append(MissionId).Append("\n");
+ sb.Append(" OrgId: ").Append(OrgId).Append("\n");
+ sb.Append(" CenterName: ").Append(CenterName).Append("\n");
+ sb.Append(" VehicleType: ").Append(VehicleType).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" CenterCity: ").Append(CenterCity).Append("\n");
+ sb.Append(" Team: ").Append(Team).Append("\n");
+ sb.Append(" State: ").Append(State).Append("\n");
+ sb.Append(" Contact: ").Append(Contact).Append("\n");
+ sb.Append(" Freetext: ").Append(Freetext).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ if (this.Datetime != null) {
+ // Datetime (DateTime) pattern
+ Regex regexDatetime = new Regex(@"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", RegexOptions.CultureInvariant);
+ if (!regexDatetime.Match(this.Datetime).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Datetime, must match a pattern of " + regexDatetime, new [] { "Datetime" });
+ }
+ }
+
+ if (this.ResourceId != null) {
+ // ResourceId (string) pattern
+ Regex regexResourceId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
+ if (!regexResourceId.Match(this.ResourceId).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ResourceId, must match a pattern of " + regexResourceId, new [] { "ResourceId" });
+ }
+ }
+
+ if (this.RequestId != null) {
+ // RequestId (string) pattern
+ Regex regexRequestId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
+ if (!regexRequestId.Match(this.RequestId).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for RequestId, must match a pattern of " + regexRequestId, new [] { "RequestId" });
+ }
+ }
+
+ if (this.CenterCity != null) {
+ // CenterCity (string) pattern
+ Regex regexCenterCity = new Regex(@"^[0-9]{5}$", RegexOptions.CultureInvariant);
+ if (!regexCenterCity.Match(this.CenterCity).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CenterCity, must match a pattern of " + regexCenterCity, new [] { "CenterCity" });
+ }
+ }
+
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/ResourcesInfoCisu.cs b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/ResourcesInfoCisu.cs
new file mode 100644
index 0000000000..7ed58dc671
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/ResourcesInfoCisu.cs
@@ -0,0 +1,114 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Cisu.resources.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Cisu.resources.Model
+{
+ ///
+ /// ResourcesInfoCisu
+ ///
+ [DataContract(Name = "resourcesInfoCisu")]
+ public partial class ResourcesInfoCisu : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected ResourcesInfoCisu() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme. (required).
+ /// resource.
+ public ResourcesInfoCisu(string caseId = default(string), List resource = default(List))
+ {
+ // to ensure "caseId" is required (not null)
+ if (caseId == null)
+ {
+ throw new ArgumentNullException("caseId is a required property for ResourcesInfoCisu and cannot be null");
+ }
+ this.CaseId = caseId;
+ this.Resource = resource;
+ }
+
+ ///
+ /// A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ ///
+ /// A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ /*
+ example.json#/caseId
+ */
+ [DataMember(Name = "caseId", IsRequired = true, EmitDefaultValue = true)]
+ public string CaseId { get; set; }
+
+ ///
+ /// Gets or Sets Resource
+ ///
+ [DataMember(Name = "resource", EmitDefaultValue = false)]
+ public List Resource { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class ResourcesInfoCisu {\n");
+ sb.Append(" CaseId: ").Append(CaseId).Append("\n");
+ sb.Append(" Resource: ").Append(Resource).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ if (this.CaseId != null) {
+ // CaseId (string) pattern
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ if (!regexCaseId.Match(this.CaseId).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
+ }
+ }
+
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/ResourcesInfoCisuWrapper.cs b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/ResourcesInfoCisuWrapper.cs
new file mode 100644
index 0000000000..e2809fea96
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/ResourcesInfoCisuWrapper.cs
@@ -0,0 +1,92 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Cisu.resources.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Cisu.resources.Model
+{
+ ///
+ /// ResourcesInfoCisuWrapper
+ ///
+ [DataContract(Name = "resourcesInfoCisuWrapper")]
+ public partial class ResourcesInfoCisuWrapper : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected ResourcesInfoCisuWrapper() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// resourcesInfoCisu (required).
+ public ResourcesInfoCisuWrapper(ResourcesInfoCisu resourcesInfoCisu = default(ResourcesInfoCisu))
+ {
+ // to ensure "resourcesInfoCisu" is required (not null)
+ if (resourcesInfoCisu == null)
+ {
+ throw new ArgumentNullException("resourcesInfoCisu is a required property for ResourcesInfoCisuWrapper and cannot be null");
+ }
+ this.ResourcesInfoCisu = resourcesInfoCisu;
+ }
+
+ ///
+ /// Gets or Sets ResourcesInfoCisu
+ ///
+ [DataMember(Name = "resourcesInfoCisu", IsRequired = true, EmitDefaultValue = true)]
+ public ResourcesInfoCisu ResourcesInfoCisu { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class ResourcesInfoCisuWrapper {\n");
+ sb.Append(" ResourcesInfoCisu: ").Append(ResourcesInfoCisu).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/State.cs b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/State.cs
new file mode 100644
index 0000000000..7113313b0f
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/State.cs
@@ -0,0 +1,239 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Cisu.resources.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Cisu.resources.Model
+{
+ ///
+ /// State
+ ///
+ [DataContract(Name = "state")]
+ public partial class State : IValidatableObject
+ {
+ ///
+ /// A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ ///
+ /// A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum StatusEnum
+ {
+ ///
+ /// Enum DECISION for value: DECISION
+ ///
+ [EnumMember(Value = "DECISION")]
+ DECISION = 1,
+
+ ///
+ /// Enum DECLENCHE for value: DECLENCHE
+ ///
+ [EnumMember(Value = "DECLENCHE")]
+ DECLENCHE = 2,
+
+ ///
+ /// Enum DEPART for value: DEPART
+ ///
+ [EnumMember(Value = "DEPART")]
+ DEPART = 3,
+
+ ///
+ /// Enum ANNULE for value: ANNULE
+ ///
+ [EnumMember(Value = "ANNULE")]
+ ANNULE = 4,
+
+ ///
+ /// Enum ARRIVEE for value: ARRIVEE
+ ///
+ [EnumMember(Value = "ARRIVEE")]
+ ARRIVEE = 5,
+
+ ///
+ /// Enum PEC for value: PEC
+ ///
+ [EnumMember(Value = "PEC")]
+ PEC = 6,
+
+ ///
+ /// Enum BILAN for value: BILAN
+ ///
+ [EnumMember(Value = "BILAN")]
+ BILAN = 7,
+
+ ///
+ /// Enum ORIENTAT for value: ORIENTAT
+ ///
+ [EnumMember(Value = "ORIENTAT")]
+ ORIENTAT = 8,
+
+ ///
+ /// Enum TRANSP for value: TRANSP
+ ///
+ [EnumMember(Value = "TRANSP")]
+ TRANSP = 9,
+
+ ///
+ /// Enum ETAPE1 for value: ETAPE1
+ ///
+ [EnumMember(Value = "ETAPE1")]
+ ETAPE1 = 10,
+
+ ///
+ /// Enum TRANSP2 for value: TRANSP2
+ ///
+ [EnumMember(Value = "TRANSP2")]
+ TRANSP2 = 11,
+
+ ///
+ /// Enum ETAPE2 for value: ETAPE2
+ ///
+ [EnumMember(Value = "ETAPE2")]
+ ETAPE2 = 12,
+
+ ///
+ /// Enum TRANSP3 for value: TRANSP3
+ ///
+ [EnumMember(Value = "TRANSP3")]
+ TRANSP3 = 13,
+
+ ///
+ /// Enum DESTIN for value: DESTIN
+ ///
+ [EnumMember(Value = "DESTIN")]
+ DESTIN = 14,
+
+ ///
+ /// Enum FINPEC for value: FINPEC
+ ///
+ [EnumMember(Value = "FINPEC")]
+ FINPEC = 15,
+
+ ///
+ /// Enum RETOUR for value: RETOUR
+ ///
+ [EnumMember(Value = "RETOUR")]
+ RETOUR = 16,
+
+ ///
+ /// Enum RETBASE for value: RET-BASE
+ ///
+ [EnumMember(Value = "RET-BASE")]
+ RETBASE = 17,
+
+ ///
+ /// Enum RENBASE for value: REN-BASE
+ ///
+ [EnumMember(Value = "REN-BASE")]
+ RENBASE = 18
+ }
+
+
+ ///
+ /// A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ ///
+ /// A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ /*
+ example.json#/resource/0/state/status
+ */
+ [DataMember(Name = "status", IsRequired = true, EmitDefaultValue = true)]
+ public StatusEnum Status { get; set; }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected State() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// A valoriser avec la date et heure d'engagement de changement vers le nouveau statut (required).
+ /// A valoriser avec le statut du vecteur. Cf nomenclature associée. (required).
+ /// A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU.
+ public State(DateTime datetime = default(DateTime), StatusEnum status = default(StatusEnum), bool availability = default(bool))
+ {
+ this.Datetime = datetime;
+ this.Status = status;
+ this.Availability = availability;
+ }
+
+ ///
+ /// A valoriser avec la date et heure d'engagement de changement vers le nouveau statut
+ ///
+ /// A valoriser avec la date et heure d'engagement de changement vers le nouveau statut
+ [DataMember(Name = "datetime", IsRequired = true, EmitDefaultValue = true)]
+ public DateTime Datetime { get; set; }
+
+ ///
+ /// A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU
+ ///
+ /// A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU
+ /*
+ false
+ */
+ [DataMember(Name = "availability", EmitDefaultValue = true)]
+ public bool Availability { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class State {\n");
+ sb.Append(" Datetime: ").Append(Datetime).Append("\n");
+ sb.Append(" Status: ").Append(Status).Append("\n");
+ sb.Append(" Availability: ").Append(Availability).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ if (this.Datetime != null) {
+ // Datetime (DateTime) pattern
+ Regex regexDatetime = new Regex(@"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", RegexOptions.CultureInvariant);
+ if (!regexDatetime.Match(this.Datetime).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Datetime, must match a pattern of " + regexDatetime, new [] { "Datetime" });
+ }
+ }
+
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Team.cs b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Team.cs
new file mode 100644
index 0000000000..d01d6d2a8e
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Cisu.resources/Model/Team.cs
@@ -0,0 +1,131 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Cisu.resources.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Cisu.resources.Model
+{
+ ///
+ /// Team
+ ///
+ [DataContract(Name = "team")]
+ public partial class Team : IValidatableObject
+ {
+ ///
+ /// A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée
+ ///
+ /// A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum MedicalLevelEnum
+ {
+ ///
+ /// Enum MED for value: MED
+ ///
+ [EnumMember(Value = "MED")]
+ MED = 1,
+
+ ///
+ /// Enum PARAMED for value: PARAMED
+ ///
+ [EnumMember(Value = "PARAMED")]
+ PARAMED = 2,
+
+ ///
+ /// Enum SECOURS for value: SECOURS
+ ///
+ [EnumMember(Value = "SECOURS")]
+ SECOURS = 3,
+
+ ///
+ /// Enum SANS for value: SANS
+ ///
+ [EnumMember(Value = "SANS")]
+ SANS = 4
+ }
+
+
+ ///
+ /// A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée
+ ///
+ /// A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée
+ /*
+ example.json#/resource/0/team/medicalLevel
+ */
+ [DataMember(Name = "medicalLevel", EmitDefaultValue = false)]
+ public MedicalLevelEnum? MedicalLevel { get; set; }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée.
+ /// A valoriser avec le nom de l'équipe à bord du vecteur (celui communiqué par l'organisation à laquelle l'équipe appartient).
+ public Team(MedicalLevelEnum? medicalLevel = default(MedicalLevelEnum?), string name = default(string))
+ {
+ this.MedicalLevel = medicalLevel;
+ this.Name = name;
+ }
+
+ ///
+ /// A valoriser avec le nom de l'équipe à bord du vecteur (celui communiqué par l'organisation à laquelle l'équipe appartient)
+ ///
+ /// A valoriser avec le nom de l'équipe à bord du vecteur (celui communiqué par l'organisation à laquelle l'équipe appartient)
+ /*
+ example.json#/resource/0/team/name
+ */
+ [DataMember(Name = "name", EmitDefaultValue = false)]
+ public string Name { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class Team {\n");
+ sb.Append(" MedicalLevel: ").Append(MedicalLevel).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu/Model/Attachment.cs b/generator_csharp/package/src/HubsanteModel/Cisu/Model/Attachment.cs
index 56c1a2d6b6..50d76b28a8 100644
--- a/generator_csharp/package/src/HubsanteModel/Cisu/Model/Attachment.cs
+++ b/generator_csharp/package/src/HubsanteModel/Cisu/Model/Attachment.cs
@@ -42,7 +42,7 @@ protected Attachment() { }
/// Décrit la ressource en précisant le type et le contenu, tels que «carte» ou «photo».
/// L'identifiant du type MIME de contenu et sous-type décrivant la ressource.
/// Taille approximative de la ressource en kO.
- /// Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([\\w-]+(\\.[\\w-]+)*)(/[\\w\\-\\.]*)*_/?(\\?[^\\s]*)? (required).
+ /// Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*)(/[a-zA-Z0-9_\\-\\.]*)*_/?(\\?[^\\s]*)? (required).
/// Peut ĂȘtre utilisĂ© Ă la place de l'Ă©lĂ©ment 'URI' pour envoyer la ressource encodĂ©e en base64 pour Ă©viter des problĂšmes de transcodage (sur des double quotes qui casseraient le message, âŠ).
/// Hash de la ressource pour confirmer la réception de la bonne ressource La ressource est hashée avec le protocole SHA-256.
public Attachment(string description = default(string), string mimeType = default(string), int size = default(int), string uRI = default(string), string derefURI = default(string), string digest = default(string))
@@ -88,9 +88,9 @@ protected Attachment() { }
public int Size { get; set; }
///
- /// Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([\\w-]+(\\.[\\w-]+)*)(/[\\w\\-\\.]*)*_/?(\\?[^\\s]*)?
+ /// Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*)(/[a-zA-Z0-9_\\-\\.]*)*_/?(\\?[^\\s]*)?
///
- /// Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([\\w-]+(\\.[\\w-]+)*)(/[\\w\\-\\.]*)*_/?(\\?[^\\s]*)?
+ /// Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*)(/[a-zA-Z0-9_\\-\\.]*)*_/?(\\?[^\\s]*)?
/*
example.json#/initialAlert/attachment/0/URI
*/
diff --git a/generator_csharp/package/src/HubsanteModel/Cisu/Model/CreateCase.cs b/generator_csharp/package/src/HubsanteModel/Cisu/Model/CreateCase.cs
index 496140ba14..1d6f3b7422 100644
--- a/generator_csharp/package/src/HubsanteModel/Cisu/Model/CreateCase.cs
+++ b/generator_csharp/package/src/HubsanteModel/Cisu/Model/CreateCase.cs
@@ -196,7 +196,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Documentlink/Model/DocumentLink.cs b/generator_csharp/package/src/HubsanteModel/Documentlink/Model/DocumentLink.cs
index fcc73f2d18..f1d51808b6 100644
--- a/generator_csharp/package/src/HubsanteModel/Documentlink/Model/DocumentLink.cs
+++ b/generator_csharp/package/src/HubsanteModel/Documentlink/Model/DocumentLink.cs
@@ -131,7 +131,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
@@ -140,7 +140,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.PatientId != null) {
// PatientId (string) pattern
- Regex regexPatientId = new Regex(@"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexPatientId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexPatientId.Match(this.PatientId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PatientId, must match a pattern of " + regexPatientId, new [] { "PatientId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Position.cs b/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Position.cs
index c992859232..bb8387b324 100644
--- a/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Position.cs
+++ b/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Position.cs
@@ -193,7 +193,7 @@ protected Position() { }
/// Indique si l'hélicoptÚre est au sol (VRAI) ou en l'air (FAUX).
/// DĂ©finit le statut de disponibilitĂ© d'une ressource. - DISPONIBLE : Lorsque la ressource est disponible - INDISPONIBLE : Lorsque la ressource n'est pas disponible, celle-ci peut ĂȘtre engagĂ©e ou en maintenance - INCONNU : Lorsque le status est inconnu.
/// Précise le statut d'une ressource qui est engagée sur une mission.
- public Position(string resourceId = default(string), DateTime datetime = default(DateTime), Coord coord = default(Coord), decimal speed = default(decimal), string cap = default(string), MoveEnum? move = default(MoveEnum?), bool engineOn = default(bool), bool groundStatus = default(bool), StatusEnum? status = default(StatusEnum?), EngagedStatusEnum? engagedStatus = default(EngagedStatusEnum?))
+ public Position(string resourceId = default(string), DateTime datetime = default(DateTime), Coord coord = default(Coord), decimal speed = default(decimal), decimal cap = default(decimal), MoveEnum? move = default(MoveEnum?), bool engineOn = default(bool), bool groundStatus = default(bool), StatusEnum? status = default(StatusEnum?), EngagedStatusEnum? engagedStatus = default(EngagedStatusEnum?))
{
// to ensure "resourceId" is required (not null)
if (resourceId == null)
@@ -251,11 +251,8 @@ protected Position() { }
/// Direction de la ressource, exprimé en degrés
///
/// Direction de la ressource, exprimé en degrés
- /*
- example.json#/position/0/cap
- */
[DataMember(Name = "cap", EmitDefaultValue = false)]
- public string Cap { get; set; }
+ public decimal Cap { get; set; }
///
/// Indique si le moteur de la ressource est éteint (FAUX) ou allumé/en marche (VRAI)
@@ -317,7 +314,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.ResourceId != null) {
// ResourceId (string) pattern
- Regex regexResourceId = new Regex(@"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexResourceId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexResourceId.Match(this.ResourceId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ResourceId, must match a pattern of " + regexResourceId, new [] { "ResourceId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Resource.cs b/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Resource.cs
index 7774638276..b5dc3183aa 100644
--- a/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Resource.cs
+++ b/generator_csharp/package/src/HubsanteModel/Geolocation/Model/Resource.cs
@@ -311,7 +311,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.ResourceId != null) {
// ResourceId (string) pattern
- Regex regexResourceId = new Regex(@"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexResourceId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexResourceId.Match(this.ResourceId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ResourceId, must match a pattern of " + regexResourceId, new [] { "ResourceId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Health/Model/CreateCaseHealth.cs b/generator_csharp/package/src/HubsanteModel/Health/Model/CreateCaseHealth.cs
index 781e21b4b6..959174889e 100644
--- a/generator_csharp/package/src/HubsanteModel/Health/Model/CreateCaseHealth.cs
+++ b/generator_csharp/package/src/HubsanteModel/Health/Model/CreateCaseHealth.cs
@@ -301,7 +301,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
@@ -319,7 +319,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.Owner != null) {
// Owner (string) pattern
- Regex regexOwner = new Regex(@"^([\w-]+\.?){4,9}$", RegexOptions.CultureInvariant);
+ Regex regexOwner = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,9}$", RegexOptions.CultureInvariant);
if (!regexOwner.Match(this.Owner).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Owner, must match a pattern of " + regexOwner, new [] { "Owner" });
diff --git a/generator_csharp/package/src/HubsanteModel/Health/Model/MedicalNote.cs b/generator_csharp/package/src/HubsanteModel/Health/Model/MedicalNote.cs
index 5555f17e06..8011e61327 100644
--- a/generator_csharp/package/src/HubsanteModel/Health/Model/MedicalNote.cs
+++ b/generator_csharp/package/src/HubsanteModel/Health/Model/MedicalNote.cs
@@ -146,7 +146,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.PatientId != null) {
// PatientId (string) pattern
- Regex regexPatientId = new Regex(@"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexPatientId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexPatientId.Match(this.PatientId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PatientId, must match a pattern of " + regexPatientId, new [] { "PatientId" });
@@ -155,7 +155,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.MedicalNoteId != null) {
// MedicalNoteId (string) pattern
- Regex regexMedicalNoteId = new Regex(@"^([\w-]+\.){3,8}medicalNote(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexMedicalNoteId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}medicalNote(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexMedicalNoteId.Match(this.MedicalNoteId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for MedicalNoteId, must match a pattern of " + regexMedicalNoteId, new [] { "MedicalNoteId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Health/Model/Patient.cs b/generator_csharp/package/src/HubsanteModel/Health/Model/Patient.cs
index c0fafcba31..5719ee7632 100644
--- a/generator_csharp/package/src/HubsanteModel/Health/Model/Patient.cs
+++ b/generator_csharp/package/src/HubsanteModel/Health/Model/Patient.cs
@@ -127,7 +127,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.PatientId != null) {
// PatientId (string) pattern
- Regex regexPatientId = new Regex(@"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexPatientId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexPatientId.Match(this.PatientId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PatientId, must match a pattern of " + regexPatientId, new [] { "PatientId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/InterventionReport.cs b/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/InterventionReport.cs
index 90a38bc60a..0d4b3960e7 100644
--- a/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/InterventionReport.cs
+++ b/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/InterventionReport.cs
@@ -156,7 +156,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/Patient.cs b/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/Patient.cs
index 6924c4ce3d..13dc55d41f 100644
--- a/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/Patient.cs
+++ b/generator_csharp/package/src/HubsanteModel/Interventionreport/Model/Patient.cs
@@ -240,7 +240,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.PatientId != null) {
// PatientId (string) pattern
- Regex regexPatientId = new Regex(@"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexPatientId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexPatientId.Match(this.PatientId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PatientId, must match a pattern of " + regexPatientId, new [] { "PatientId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Resources.info/Model/Resource.cs b/generator_csharp/package/src/HubsanteModel/Resources.info/Model/Resource.cs
index ee63073c67..ae08d8f2e1 100644
--- a/generator_csharp/package/src/HubsanteModel/Resources.info/Model/Resource.cs
+++ b/generator_csharp/package/src/HubsanteModel/Resources.info/Model/Resource.cs
@@ -636,7 +636,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.ResourceId != null) {
// ResourceId (string) pattern
- Regex regexResourceId = new Regex(@"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexResourceId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexResourceId.Match(this.ResourceId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ResourceId, must match a pattern of " + regexResourceId, new [] { "ResourceId" });
@@ -645,7 +645,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.RequestId != null) {
// RequestId (string) pattern
- Regex regexRequestId = new Regex(@"^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexRequestId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexRequestId.Match(this.RequestId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for RequestId, must match a pattern of " + regexRequestId, new [] { "RequestId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Resources.info/Model/ResourcesInfo.cs b/generator_csharp/package/src/HubsanteModel/Resources.info/Model/ResourcesInfo.cs
index 85e40fe790..542f58da86 100644
--- a/generator_csharp/package/src/HubsanteModel/Resources.info/Model/ResourcesInfo.cs
+++ b/generator_csharp/package/src/HubsanteModel/Resources.info/Model/ResourcesInfo.cs
@@ -105,7 +105,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Resources.request/Model/Request.cs b/generator_csharp/package/src/HubsanteModel/Resources.request/Model/Request.cs
index b886e7aaa3..83bac0213c 100644
--- a/generator_csharp/package/src/HubsanteModel/Resources.request/Model/Request.cs
+++ b/generator_csharp/package/src/HubsanteModel/Resources.request/Model/Request.cs
@@ -375,7 +375,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.RequestId != null) {
// RequestId (string) pattern
- Regex regexRequestId = new Regex(@"^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexRequestId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexRequestId.Match(this.RequestId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for RequestId, must match a pattern of " + regexRequestId, new [] { "RequestId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Resources.request/Model/ResourcesRequest.cs b/generator_csharp/package/src/HubsanteModel/Resources.request/Model/ResourcesRequest.cs
index 69b15d81c4..6b62cf9990 100644
--- a/generator_csharp/package/src/HubsanteModel/Resources.request/Model/ResourcesRequest.cs
+++ b/generator_csharp/package/src/HubsanteModel/Resources.request/Model/ResourcesRequest.cs
@@ -132,7 +132,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Resources.response/Model/ResourcesResponse.cs b/generator_csharp/package/src/HubsanteModel/Resources.response/Model/ResourcesResponse.cs
index c18ccaf1cc..bb6a312a0b 100644
--- a/generator_csharp/package/src/HubsanteModel/Resources.response/Model/ResourcesResponse.cs
+++ b/generator_csharp/package/src/HubsanteModel/Resources.response/Model/ResourcesResponse.cs
@@ -123,7 +123,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
@@ -132,7 +132,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.RequestId != null) {
// RequestId (string) pattern
- Regex regexRequestId = new Regex(@"^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexRequestId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexRequestId.Match(this.RequestId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for RequestId, must match a pattern of " + regexRequestId, new [] { "RequestId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Resources.status/Model/ResourcesStatus.cs b/generator_csharp/package/src/HubsanteModel/Resources.status/Model/ResourcesStatus.cs
index 94ee954840..b455789758 100644
--- a/generator_csharp/package/src/HubsanteModel/Resources.status/Model/ResourcesStatus.cs
+++ b/generator_csharp/package/src/HubsanteModel/Resources.status/Model/ResourcesStatus.cs
@@ -123,7 +123,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.CaseId != null) {
// CaseId (string) pattern
- Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexCaseId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
@@ -132,7 +132,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.ResourceId != null) {
// ResourceId (string) pattern
- Regex regexResourceId = new Regex(@"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
+ Regex regexResourceId = new Regex(@"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexResourceId.Match(this.ResourceId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ResourceId, must match a pattern of " + regexResourceId, new [] { "ResourceId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Rpis/Model/Event.cs b/generator_csharp/package/src/HubsanteModel/Rpis/Model/Event.cs
index 50d1381ca6..ee2224be60 100644
--- a/generator_csharp/package/src/HubsanteModel/Rpis/Model/Event.cs
+++ b/generator_csharp/package/src/HubsanteModel/Rpis/Model/Event.cs
@@ -183,7 +183,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
{
if (this.OrgId != null) {
// OrgId (string) pattern
- Regex regexOrgId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
+ Regex regexOrgId = new Regex(@"^([a-zA-Z0-9_-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexOrgId.Match(this.OrgId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OrgId, must match a pattern of " + regexOrgId, new [] { "OrgId" });
diff --git a/generator_csharp/package/src/HubsanteModel/Rpis/Model/WhatsHappen.cs b/generator_csharp/package/src/HubsanteModel/Rpis/Model/WhatsHappen.cs
index 031fccb29d..ac93a35903 100644
--- a/generator_csharp/package/src/HubsanteModel/Rpis/Model/WhatsHappen.cs
+++ b/generator_csharp/package/src/HubsanteModel/Rpis/Model/WhatsHappen.cs
@@ -572,1301 +572,1265 @@ public enum CodeEnum
[EnumMember(Value = "C02.16.03")]
C021603 = 89,
- ///
- /// Enum C070300 for value: C07.03.00
- ///
- [EnumMember(Value = "C07.03.00")]
- C070300 = 90,
-
- ///
- /// Enum C070301 for value: C07.03.01
- ///
- [EnumMember(Value = "C07.03.01")]
- C070301 = 91,
-
- ///
- /// Enum C070302 for value: C07.03.02
- ///
- [EnumMember(Value = "C07.03.02")]
- C070302 = 92,
-
- ///
- /// Enum C070303 for value: C07.03.03
- ///
- [EnumMember(Value = "C07.03.03")]
- C070303 = 93,
-
- ///
- /// Enum C070304 for value: C07.03.04
- ///
- [EnumMember(Value = "C07.03.04")]
- C070304 = 94,
-
- ///
- /// Enum C070305 for value: C07.03.05
- ///
- [EnumMember(Value = "C07.03.05")]
- C070305 = 95,
-
///
/// Enum C030000 for value: C03.00.00
///
[EnumMember(Value = "C03.00.00")]
- C030000 = 96,
+ C030000 = 90,
///
/// Enum C030100 for value: C03.01.00
///
[EnumMember(Value = "C03.01.00")]
- C030100 = 97,
+ C030100 = 91,
///
/// Enum C030101 for value: C03.01.01
///
[EnumMember(Value = "C03.01.01")]
- C030101 = 98,
+ C030101 = 92,
///
/// Enum C030102 for value: C03.01.02
///
[EnumMember(Value = "C03.01.02")]
- C030102 = 99,
+ C030102 = 93,
///
/// Enum C030103 for value: C03.01.03
///
[EnumMember(Value = "C03.01.03")]
- C030103 = 100,
+ C030103 = 94,
///
/// Enum C030104 for value: C03.01.04
///
[EnumMember(Value = "C03.01.04")]
- C030104 = 101,
+ C030104 = 95,
///
/// Enum C030105 for value: C03.01.05
///
[EnumMember(Value = "C03.01.05")]
- C030105 = 102,
+ C030105 = 96,
///
/// Enum C030200 for value: C03.02.00
///
[EnumMember(Value = "C03.02.00")]
- C030200 = 103,
+ C030200 = 97,
///
/// Enum C030201 for value: C03.02.01
///
[EnumMember(Value = "C03.02.01")]
- C030201 = 104,
+ C030201 = 98,
///
/// Enum C030202 for value: C03.02.02
///
[EnumMember(Value = "C03.02.02")]
- C030202 = 105,
+ C030202 = 99,
///
/// Enum C030203 for value: C03.02.03
///
[EnumMember(Value = "C03.02.03")]
- C030203 = 106,
+ C030203 = 100,
///
/// Enum C030204 for value: C03.02.04
///
[EnumMember(Value = "C03.02.04")]
- C030204 = 107,
+ C030204 = 101,
///
/// Enum C030205 for value: C03.02.05
///
[EnumMember(Value = "C03.02.05")]
- C030205 = 108,
+ C030205 = 102,
///
/// Enum C030206 for value: C03.02.06
///
[EnumMember(Value = "C03.02.06")]
- C030206 = 109,
+ C030206 = 103,
///
/// Enum C030207 for value: C03.02.07
///
[EnumMember(Value = "C03.02.07")]
- C030207 = 110,
+ C030207 = 104,
///
/// Enum C030208 for value: C03.02.08
///
[EnumMember(Value = "C03.02.08")]
- C030208 = 111,
+ C030208 = 105,
///
/// Enum C030209 for value: C03.02.09
///
[EnumMember(Value = "C03.02.09")]
- C030209 = 112,
+ C030209 = 106,
///
/// Enum C030210 for value: C03.02.10
///
[EnumMember(Value = "C03.02.10")]
- C030210 = 113,
+ C030210 = 107,
///
/// Enum C030211 for value: C03.02.11
///
[EnumMember(Value = "C03.02.11")]
- C030211 = 114,
+ C030211 = 108,
///
/// Enum C030212 for value: C03.02.12
///
[EnumMember(Value = "C03.02.12")]
- C030212 = 115,
+ C030212 = 109,
///
/// Enum C030213 for value: C03.02.13
///
[EnumMember(Value = "C03.02.13")]
- C030213 = 116,
+ C030213 = 110,
///
/// Enum C030214 for value: C03.02.14
///
[EnumMember(Value = "C03.02.14")]
- C030214 = 117,
+ C030214 = 111,
///
/// Enum C030215 for value: C03.02.15
///
[EnumMember(Value = "C03.02.15")]
- C030215 = 118,
+ C030215 = 112,
///
/// Enum C030300 for value: C03.03.00
///
[EnumMember(Value = "C03.03.00")]
- C030300 = 119,
+ C030300 = 113,
///
/// Enum C030301 for value: C03.03.01
///
[EnumMember(Value = "C03.03.01")]
- C030301 = 120,
+ C030301 = 114,
///
/// Enum C030302 for value: C03.03.02
///
[EnumMember(Value = "C03.03.02")]
- C030302 = 121,
+ C030302 = 115,
///
/// Enum C030400 for value: C03.04.00
///
[EnumMember(Value = "C03.04.00")]
- C030400 = 122,
+ C030400 = 116,
///
/// Enum C030401 for value: C03.04.01
///
[EnumMember(Value = "C03.04.01")]
- C030401 = 123,
+ C030401 = 117,
///
/// Enum C030402 for value: C03.04.02
///
[EnumMember(Value = "C03.04.02")]
- C030402 = 124,
+ C030402 = 118,
///
/// Enum C030500 for value: C03.05.00
///
[EnumMember(Value = "C03.05.00")]
- C030500 = 125,
+ C030500 = 119,
///
/// Enum C030600 for value: C03.06.00
///
[EnumMember(Value = "C03.06.00")]
- C030600 = 126,
+ C030600 = 120,
///
/// Enum C030700 for value: C03.07.00
///
[EnumMember(Value = "C03.07.00")]
- C030700 = 127,
+ C030700 = 121,
///
/// Enum C030800 for value: C03.08.00
///
[EnumMember(Value = "C03.08.00")]
- C030800 = 128,
+ C030800 = 122,
///
/// Enum C030900 for value: C03.09.00
///
[EnumMember(Value = "C03.09.00")]
- C030900 = 129,
+ C030900 = 123,
///
/// Enum C031000 for value: C03.10.00
///
[EnumMember(Value = "C03.10.00")]
- C031000 = 130,
+ C031000 = 124,
///
/// Enum C031100 for value: C03.11.00
///
[EnumMember(Value = "C03.11.00")]
- C031100 = 131,
+ C031100 = 125,
///
/// Enum C031200 for value: C03.12.00
///
[EnumMember(Value = "C03.12.00")]
- C031200 = 132,
+ C031200 = 126,
///
/// Enum C031300 for value: C03.13.00
///
[EnumMember(Value = "C03.13.00")]
- C031300 = 133,
+ C031300 = 127,
///
/// Enum C031400 for value: C03.14.00
///
[EnumMember(Value = "C03.14.00")]
- C031400 = 134,
+ C031400 = 128,
///
/// Enum C031500 for value: C03.15.00
///
[EnumMember(Value = "C03.15.00")]
- C031500 = 135,
+ C031500 = 129,
///
/// Enum C040000 for value: C04.00.00
///
[EnumMember(Value = "C04.00.00")]
- C040000 = 136,
+ C040000 = 130,
///
/// Enum C040100 for value: C04.01.00
///
[EnumMember(Value = "C04.01.00")]
- C040100 = 137,
+ C040100 = 131,
///
/// Enum C040101 for value: C04.01.01
///
[EnumMember(Value = "C04.01.01")]
- C040101 = 138,
+ C040101 = 132,
///
/// Enum C040102 for value: C04.01.02
///
[EnumMember(Value = "C04.01.02")]
- C040102 = 139,
+ C040102 = 133,
///
/// Enum C040103 for value: C04.01.03
///
[EnumMember(Value = "C04.01.03")]
- C040103 = 140,
+ C040103 = 134,
///
/// Enum C040104 for value: C04.01.04
///
[EnumMember(Value = "C04.01.04")]
- C040104 = 141,
+ C040104 = 135,
///
/// Enum C040105 for value: C04.01.05
///
[EnumMember(Value = "C04.01.05")]
- C040105 = 142,
+ C040105 = 136,
///
/// Enum C040106 for value: C04.01.06
///
[EnumMember(Value = "C04.01.06")]
- C040106 = 143,
+ C040106 = 137,
///
/// Enum C040107 for value: C04.01.07
///
[EnumMember(Value = "C04.01.07")]
- C040107 = 144,
+ C040107 = 138,
///
/// Enum C040108 for value: C04.01.08
///
[EnumMember(Value = "C04.01.08")]
- C040108 = 145,
+ C040108 = 139,
///
/// Enum C040109 for value: C04.01.09
///
[EnumMember(Value = "C04.01.09")]
- C040109 = 146,
+ C040109 = 140,
///
/// Enum C040110 for value: C04.01.10
///
[EnumMember(Value = "C04.01.10")]
- C040110 = 147,
+ C040110 = 141,
///
/// Enum C040111 for value: C04.01.11
///
[EnumMember(Value = "C04.01.11")]
- C040111 = 148,
+ C040111 = 142,
///
/// Enum C040200 for value: C04.02.00
///
[EnumMember(Value = "C04.02.00")]
- C040200 = 149,
+ C040200 = 143,
///
/// Enum C040201 for value: C04.02.01
///
[EnumMember(Value = "C04.02.01")]
- C040201 = 150,
+ C040201 = 144,
///
/// Enum C040202 for value: C04.02.02
///
[EnumMember(Value = "C04.02.02")]
- C040202 = 151,
+ C040202 = 145,
///
/// Enum C040203 for value: C04.02.03
///
[EnumMember(Value = "C04.02.03")]
- C040203 = 152,
+ C040203 = 146,
///
/// Enum C040204 for value: C04.02.04
///
[EnumMember(Value = "C04.02.04")]
- C040204 = 153,
+ C040204 = 147,
///
/// Enum C040300 for value: C04.03.00
///
[EnumMember(Value = "C04.03.00")]
- C040300 = 154,
+ C040300 = 148,
///
/// Enum C040400 for value: C04.04.00
///
[EnumMember(Value = "C04.04.00")]
- C040400 = 155,
+ C040400 = 149,
///
/// Enum C040500 for value: C04.05.00
///
[EnumMember(Value = "C04.05.00")]
- C040500 = 156,
+ C040500 = 150,
///
/// Enum C040600 for value: C04.06.00
///
[EnumMember(Value = "C04.06.00")]
- C040600 = 157,
+ C040600 = 151,
///
/// Enum C040700 for value: C04.07.00
///
[EnumMember(Value = "C04.07.00")]
- C040700 = 158,
+ C040700 = 152,
///
/// Enum C040701 for value: C04.07.01
///
[EnumMember(Value = "C04.07.01")]
- C040701 = 159,
+ C040701 = 153,
///
/// Enum C040702 for value: C04.07.02
///
[EnumMember(Value = "C04.07.02")]
- C040702 = 160,
+ C040702 = 154,
///
/// Enum C040703 for value: C04.07.03
///
[EnumMember(Value = "C04.07.03")]
- C040703 = 161,
+ C040703 = 155,
///
/// Enum C040704 for value: C04.07.04
///
[EnumMember(Value = "C04.07.04")]
- C040704 = 162,
+ C040704 = 156,
///
/// Enum C040800 for value: C04.08.00
///
[EnumMember(Value = "C04.08.00")]
- C040800 = 163,
+ C040800 = 157,
///
/// Enum C040900 for value: C04.09.00
///
[EnumMember(Value = "C04.09.00")]
- C040900 = 164,
+ C040900 = 158,
///
/// Enum C050000 for value: C05.00.00
///
[EnumMember(Value = "C05.00.00")]
- C050000 = 165,
+ C050000 = 159,
///
/// Enum C050001 for value: C05.00.01
///
[EnumMember(Value = "C05.00.01")]
- C050001 = 166,
+ C050001 = 160,
///
/// Enum C050002 for value: C05.00.02
///
[EnumMember(Value = "C05.00.02")]
- C050002 = 167,
+ C050002 = 161,
///
/// Enum C050003 for value: C05.00.03
///
[EnumMember(Value = "C05.00.03")]
- C050003 = 168,
+ C050003 = 162,
///
/// Enum C050004 for value: C05.00.04
///
[EnumMember(Value = "C05.00.04")]
- C050004 = 169,
+ C050004 = 163,
///
/// Enum C050005 for value: C05.00.05
///
[EnumMember(Value = "C05.00.05")]
- C050005 = 170,
+ C050005 = 164,
///
/// Enum C060000 for value: C06.00.00
///
[EnumMember(Value = "C06.00.00")]
- C060000 = 171,
+ C060000 = 165,
///
/// Enum C060100 for value: C06.01.00
///
[EnumMember(Value = "C06.01.00")]
- C060100 = 172,
+ C060100 = 166,
///
/// Enum C060200 for value: C06.02.00
///
[EnumMember(Value = "C06.02.00")]
- C060200 = 173,
+ C060200 = 167,
///
/// Enum C060300 for value: C06.03.00
///
[EnumMember(Value = "C06.03.00")]
- C060300 = 174,
+ C060300 = 168,
///
/// Enum C060301 for value: C06.03.01
///
[EnumMember(Value = "C06.03.01")]
- C060301 = 175,
+ C060301 = 169,
///
/// Enum C060302 for value: C06.03.02
///
[EnumMember(Value = "C06.03.02")]
- C060302 = 176,
+ C060302 = 170,
///
/// Enum C060303 for value: C06.03.03
///
[EnumMember(Value = "C06.03.03")]
- C060303 = 177,
+ C060303 = 171,
///
/// Enum C060304 for value: C06.03.04
///
[EnumMember(Value = "C06.03.04")]
- C060304 = 178,
+ C060304 = 172,
///
/// Enum C060305 for value: C06.03.05
///
[EnumMember(Value = "C06.03.05")]
- C060305 = 179,
+ C060305 = 173,
///
/// Enum C060306 for value: C06.03.06
///
[EnumMember(Value = "C06.03.06")]
- C060306 = 180,
+ C060306 = 174,
///
/// Enum C060400 for value: C06.04.00
///
[EnumMember(Value = "C06.04.00")]
- C060400 = 181,
+ C060400 = 175,
///
/// Enum C060401 for value: C06.04.01
///
[EnumMember(Value = "C06.04.01")]
- C060401 = 182,
+ C060401 = 176,
///
/// Enum C060402 for value: C06.04.02
///
[EnumMember(Value = "C06.04.02")]
- C060402 = 183,
+ C060402 = 177,
///
/// Enum C060500 for value: C06.05.00
///
[EnumMember(Value = "C06.05.00")]
- C060500 = 184,
+ C060500 = 178,
///
/// Enum C060600 for value: C06.06.00
///
[EnumMember(Value = "C06.06.00")]
- C060600 = 185,
+ C060600 = 179,
///
/// Enum C060601 for value: C06.06.01
///
[EnumMember(Value = "C06.06.01")]
- C060601 = 186,
+ C060601 = 180,
///
/// Enum C060700 for value: C06.07.00
///
[EnumMember(Value = "C06.07.00")]
- C060700 = 187,
+ C060700 = 181,
///
/// Enum C060701 for value: C06.07.01
///
[EnumMember(Value = "C06.07.01")]
- C060701 = 188,
+ C060701 = 182,
///
/// Enum C060702 for value: C06.07.02
///
[EnumMember(Value = "C06.07.02")]
- C060702 = 189,
+ C060702 = 183,
///
/// Enum C060800 for value: C06.08.00
///
[EnumMember(Value = "C06.08.00")]
- C060800 = 190,
+ C060800 = 184,
///
/// Enum C060801 for value: C06.08.01
///
[EnumMember(Value = "C06.08.01")]
- C060801 = 191,
+ C060801 = 185,
///
/// Enum C060802 for value: C06.08.02
///
[EnumMember(Value = "C06.08.02")]
- C060802 = 192,
+ C060802 = 186,
///
/// Enum C060803 for value: C06.08.03
///
[EnumMember(Value = "C06.08.03")]
- C060803 = 193,
+ C060803 = 187,
///
/// Enum C060804 for value: C06.08.04
///
[EnumMember(Value = "C06.08.04")]
- C060804 = 194,
+ C060804 = 188,
///
/// Enum C060805 for value: C06.08.05
///
[EnumMember(Value = "C06.08.05")]
- C060805 = 195,
+ C060805 = 189,
///
/// Enum C060806 for value: C06.08.06
///
[EnumMember(Value = "C06.08.06")]
- C060806 = 196,
+ C060806 = 190,
///
/// Enum C070000 for value: C07.00.00
///
[EnumMember(Value = "C07.00.00")]
- C070000 = 197,
+ C070000 = 191,
///
/// Enum C070100 for value: C07.01.00
///
[EnumMember(Value = "C07.01.00")]
- C070100 = 198,
+ C070100 = 192,
///
/// Enum C070200 for value: C07.02.00
///
[EnumMember(Value = "C07.02.00")]
- C070200 = 199,
+ C070200 = 193,
///
- /// Enum C0703002 for value: C07.03.00
+ /// Enum C070300 for value: C07.03.00
///
[EnumMember(Value = "C07.03.00")]
- C0703002 = 200,
+ C070300 = 194,
///
- /// Enum C0703012 for value: C07.03.01
+ /// Enum C070301 for value: C07.03.01
///
[EnumMember(Value = "C07.03.01")]
- C0703012 = 201,
+ C070301 = 195,
///
- /// Enum C0703022 for value: C07.03.02
+ /// Enum C070302 for value: C07.03.02
///
[EnumMember(Value = "C07.03.02")]
- C0703022 = 202,
+ C070302 = 196,
///
- /// Enum C0703032 for value: C07.03.03
+ /// Enum C070303 for value: C07.03.03
///
[EnumMember(Value = "C07.03.03")]
- C0703032 = 203,
+ C070303 = 197,
///
- /// Enum C0703042 for value: C07.03.04
+ /// Enum C070304 for value: C07.03.04
///
[EnumMember(Value = "C07.03.04")]
- C0703042 = 204,
+ C070304 = 198,
///
- /// Enum C0703052 for value: C07.03.05
+ /// Enum C070305 for value: C07.03.05
///
[EnumMember(Value = "C07.03.05")]
- C0703052 = 205,
+ C070305 = 199,
///
/// Enum C070400 for value: C07.04.00
///
[EnumMember(Value = "C07.04.00")]
- C070400 = 206,
+ C070400 = 200,
///
/// Enum C070401 for value: C07.04.01
///
[EnumMember(Value = "C07.04.01")]
- C070401 = 207,
+ C070401 = 201,
///
/// Enum C070402 for value: C07.04.02
///
[EnumMember(Value = "C07.04.02")]
- C070402 = 208,
+ C070402 = 202,
///
/// Enum C070403 for value: C07.04.03
///
[EnumMember(Value = "C07.04.03")]
- C070403 = 209,
+ C070403 = 203,
///
/// Enum C070404 for value: C07.04.04
///
[EnumMember(Value = "C07.04.04")]
- C070404 = 210,
+ C070404 = 204,
///
/// Enum C070500 for value: C07.05.00
///
[EnumMember(Value = "C07.05.00")]
- C070500 = 211,
+ C070500 = 205,
///
/// Enum C070600 for value: C07.06.00
///
[EnumMember(Value = "C07.06.00")]
- C070600 = 212,
+ C070600 = 206,
///
/// Enum C070700 for value: C07.07.00
///
[EnumMember(Value = "C07.07.00")]
- C070700 = 213,
+ C070700 = 207,
///
/// Enum C070701 for value: C07.07.01
///
[EnumMember(Value = "C07.07.01")]
- C070701 = 214,
+ C070701 = 208,
///
/// Enum C070702 for value: C07.07.02
///
[EnumMember(Value = "C07.07.02")]
- C070702 = 215,
+ C070702 = 209,
///
/// Enum C070703 for value: C07.07.03
///
[EnumMember(Value = "C07.07.03")]
- C070703 = 216,
+ C070703 = 210,
///
/// Enum C070704 for value: C07.07.04
///
[EnumMember(Value = "C07.07.04")]
- C070704 = 217,
+ C070704 = 211,
///
/// Enum C070705 for value: C07.07.05
///
[EnumMember(Value = "C07.07.05")]
- C070705 = 218,
+ C070705 = 212,
///
/// Enum C070800 for value: C07.08.00
///
[EnumMember(Value = "C07.08.00")]
- C070800 = 219,
+ C070800 = 213,
///
/// Enum C070801 for value: C07.08.01
///
[EnumMember(Value = "C07.08.01")]
- C070801 = 220,
+ C070801 = 214,
///
/// Enum C070802 for value: C07.08.02
///
[EnumMember(Value = "C07.08.02")]
- C070802 = 221,
+ C070802 = 215,
///
/// Enum C070803 for value: C07.08.03
///
[EnumMember(Value = "C07.08.03")]
- C070803 = 222,
+ C070803 = 216,
///
/// Enum C070900 for value: C07.09.00
///
[EnumMember(Value = "C07.09.00")]
- C070900 = 223,
+ C070900 = 217,
///
/// Enum C070901 for value: C07.09.01
///
[EnumMember(Value = "C07.09.01")]
- C070901 = 224,
+ C070901 = 218,
///
/// Enum C070902 for value: C07.09.02
///
[EnumMember(Value = "C07.09.02")]
- C070902 = 225,
+ C070902 = 219,
///
/// Enum C070903 for value: C07.09.03
///
[EnumMember(Value = "C07.09.03")]
- C070903 = 226,
+ C070903 = 220,
///
/// Enum C070905 for value: C07.09.05
///
[EnumMember(Value = "C07.09.05")]
- C070905 = 227,
+ C070905 = 221,
///
/// Enum C071000 for value: C07.10.00
///
[EnumMember(Value = "C07.10.00")]
- C071000 = 228,
+ C071000 = 222,
///
/// Enum C071100 for value: C07.11.00
///
[EnumMember(Value = "C07.11.00")]
- C071100 = 229,
+ C071100 = 223,
///
/// Enum C071200 for value: C07.12.00
///
[EnumMember(Value = "C07.12.00")]
- C071200 = 230,
+ C071200 = 224,
///
/// Enum C071300 for value: C07.13.00
///
[EnumMember(Value = "C07.13.00")]
- C071300 = 231,
+ C071300 = 225,
///
/// Enum C071301 for value: C07.13.01
///
[EnumMember(Value = "C07.13.01")]
- C071301 = 232,
+ C071301 = 226,
///
/// Enum C071302 for value: C07.13.02
///
[EnumMember(Value = "C07.13.02")]
- C071302 = 233,
+ C071302 = 227,
///
/// Enum C071303 for value: C07.13.03
///
[EnumMember(Value = "C07.13.03")]
- C071303 = 234,
+ C071303 = 228,
///
/// Enum C071304 for value: C07.13.04
///
[EnumMember(Value = "C07.13.04")]
- C071304 = 235,
+ C071304 = 229,
///
/// Enum C071305 for value: C07.13.05
///
[EnumMember(Value = "C07.13.05")]
- C071305 = 236,
+ C071305 = 230,
///
/// Enum C071306 for value: C07.13.06
///
[EnumMember(Value = "C07.13.06")]
- C071306 = 237,
+ C071306 = 231,
///
/// Enum C071307 for value: C07.13.07
///
[EnumMember(Value = "C07.13.07")]
- C071307 = 238,
+ C071307 = 232,
///
/// Enum C080000 for value: C08.00.00
///
[EnumMember(Value = "C08.00.00")]
- C080000 = 239,
+ C080000 = 233,
///
/// Enum C080100 for value: C08.01.00
///
[EnumMember(Value = "C08.01.00")]
- C080100 = 240,
+ C080100 = 234,
///
/// Enum C080200 for value: C08.02.00
///
[EnumMember(Value = "C08.02.00")]
- C080200 = 241,
+ C080200 = 235,
///
/// Enum C080300 for value: C08.03.00
///
[EnumMember(Value = "C08.03.00")]
- C080300 = 242,
+ C080300 = 236,
///
/// Enum C080400 for value: C08.04.00
///
[EnumMember(Value = "C08.04.00")]
- C080400 = 243,
+ C080400 = 237,
///
/// Enum C080500 for value: C08.05.00
///
[EnumMember(Value = "C08.05.00")]
- C080500 = 244,
+ C080500 = 238,
///
/// Enum C080600 for value: C08.06.00
///
[EnumMember(Value = "C08.06.00")]
- C080600 = 245,
+ C080600 = 239,
///
/// Enum C080700 for value: C08.07.00
///
[EnumMember(Value = "C08.07.00")]
- C080700 = 246,
+ C080700 = 240,
///
/// Enum C080800 for value: C08.08.00
///
[EnumMember(Value = "C08.08.00")]
- C080800 = 247,
+ C080800 = 241,
///
/// Enum C080801 for value: C08.08.01
///
[EnumMember(Value = "C08.08.01")]
- C080801 = 248,
+ C080801 = 242,
///
/// Enum C080802 for value: C08.08.02
///
[EnumMember(Value = "C08.08.02")]
- C080802 = 249,
+ C080802 = 243,
///
/// Enum C080900 for value: C08.09.00
///
[EnumMember(Value = "C08.09.00")]
- C080900 = 250,
+ C080900 = 244,
///
/// Enum C081000 for value: C08.10.00
///
[EnumMember(Value = "C08.10.00")]
- C081000 = 251,
+ C081000 = 245,
///
/// Enum C081001 for value: C08.10.01
///
[EnumMember(Value = "C08.10.01")]
- C081001 = 252,
+ C081001 = 246,
///
/// Enum C090000 for value: C09.00.00
///
[EnumMember(Value = "C09.00.00")]
- C090000 = 253,
+ C090000 = 247,
///
/// Enum C090100 for value: C09.01.00
///
[EnumMember(Value = "C09.01.00")]
- C090100 = 254,
+ C090100 = 248,
///
/// Enum C090101 for value: C09.01.01
///
[EnumMember(Value = "C09.01.01")]
- C090101 = 255,
+ C090101 = 249,
///
/// Enum C090102 for value: C09.01.02
///
[EnumMember(Value = "C09.01.02")]
- C090102 = 256,
+ C090102 = 250,
///
/// Enum C090103 for value: C09.01.03
///
[EnumMember(Value = "C09.01.03")]
- C090103 = 257,
+ C090103 = 251,
///
/// Enum C090104 for value: C09.01.04
///
[EnumMember(Value = "C09.01.04")]
- C090104 = 258,
+ C090104 = 252,
///
/// Enum C090200 for value: C09.02.00
///
[EnumMember(Value = "C09.02.00")]
- C090200 = 259,
+ C090200 = 253,
///
/// Enum C090300 for value: C09.03.00
///
[EnumMember(Value = "C09.03.00")]
- C090300 = 260,
+ C090300 = 254,
///
/// Enum C090301 for value: C09.03.01
///
[EnumMember(Value = "C09.03.01")]
- C090301 = 261,
+ C090301 = 255,
///
/// Enum C090400 for value: C09.04.00
///
[EnumMember(Value = "C09.04.00")]
- C090400 = 262,
+ C090400 = 256,
///
/// Enum C090401 for value: C09.04.01
///
[EnumMember(Value = "C09.04.01")]
- C090401 = 263,
+ C090401 = 257,
///
/// Enum C090402 for value: C09.04.02
///
[EnumMember(Value = "C09.04.02")]
- C090402 = 264,
+ C090402 = 258,
///
/// Enum C090500 for value: C09.05.00
///
[EnumMember(Value = "C09.05.00")]
- C090500 = 265,
+ C090500 = 259,
///
/// Enum C090600 for value: C09.06.00
///
[EnumMember(Value = "C09.06.00")]
- C090600 = 266,
+ C090600 = 260,
///
/// Enum C090700 for value: C09.07.00
///
[EnumMember(Value = "C09.07.00")]
- C090700 = 267,
+ C090700 = 261,
///
/// Enum C090800 for value: C09.08.00
///
[EnumMember(Value = "C09.08.00")]
- C090800 = 268,
+ C090800 = 262,
///
/// Enum C100000 for value: C10.00.00
///
[EnumMember(Value = "C10.00.00")]
- C100000 = 269,
+ C100000 = 263,
///
/// Enum C100100 for value: C10.01.00
///
[EnumMember(Value = "C10.01.00")]
- C100100 = 270,
+ C100100 = 264,
///
/// Enum C100101 for value: C10.01.01
///
[EnumMember(Value = "C10.01.01")]
- C100101 = 271,
+ C100101 = 265,
///
/// Enum C100102 for value: C10.01.02
///
[EnumMember(Value = "C10.01.02")]
- C100102 = 272,
+ C100102 = 266,
///
/// Enum C100103 for value: C10.01.03
///
[EnumMember(Value = "C10.01.03")]
- C100103 = 273,
+ C100103 = 267,
///
/// Enum C100104 for value: C10.01.04
///
[EnumMember(Value = "C10.01.04")]
- C100104 = 274,
+ C100104 = 268,
///
/// Enum C100105 for value: C10.01.05
///
[EnumMember(Value = "C10.01.05")]
- C100105 = 275,
+ C100105 = 269,
///
/// Enum C100106 for value: C10.01.06
///
[EnumMember(Value = "C10.01.06")]
- C100106 = 276,
+ C100106 = 270,
///
/// Enum C100107 for value: C10.01.07
///
[EnumMember(Value = "C10.01.07")]
- C100107 = 277,
+ C100107 = 271,
///
/// Enum C100108 for value: C10.01.08
///
[EnumMember(Value = "C10.01.08")]
- C100108 = 278,
+ C100108 = 272,
///
/// Enum C100200 for value: C10.02.00
///
[EnumMember(Value = "C10.02.00")]
- C100200 = 279,
+ C100200 = 273,
///
/// Enum C100201 for value: C10.02.01
///
[EnumMember(Value = "C10.02.01")]
- C100201 = 280,
+ C100201 = 274,
///
/// Enum C100202 for value: C10.02.02
///
[EnumMember(Value = "C10.02.02")]
- C100202 = 281,
+ C100202 = 275,
///
/// Enum C100300 for value: C10.03.00
///
[EnumMember(Value = "C10.03.00")]
- C100300 = 282,
+ C100300 = 276,
///
/// Enum C100301 for value: C10.03.01
///
[EnumMember(Value = "C10.03.01")]
- C100301 = 283,
+ C100301 = 277,
///
/// Enum C100302 for value: C10.03.02
///
[EnumMember(Value = "C10.03.02")]
- C100302 = 284,
+ C100302 = 278,
///
/// Enum C100400 for value: C10.04.00
///
[EnumMember(Value = "C10.04.00")]
- C100400 = 285,
+ C100400 = 279,
///
/// Enum C100401 for value: C10.04.01
///
[EnumMember(Value = "C10.04.01")]
- C100401 = 286,
+ C100401 = 280,
///
/// Enum C100402 for value: C10.04.02
///
[EnumMember(Value = "C10.04.02")]
- C100402 = 287,
+ C100402 = 281,
///
/// Enum C100500 for value: C10.05.00
///
[EnumMember(Value = "C10.05.00")]
- C100500 = 288,
+ C100500 = 282,
///
/// Enum C100600 for value: C10.06.00
///
[EnumMember(Value = "C10.06.00")]
- C100600 = 289,
+ C100600 = 283,
///
/// Enum C100700 for value: C10.07.00
///
[EnumMember(Value = "C10.07.00")]
- C100700 = 290,
+ C100700 = 284,
///
/// Enum C100800 for value: C10.08.00
///
[EnumMember(Value = "C10.08.00")]
- C100800 = 291,
+ C100800 = 285,
///
/// Enum C110000 for value: C11.00.00
///
[EnumMember(Value = "C11.00.00")]
- C110000 = 292,
+ C110000 = 286,
///
/// Enum C110100 for value: C11.01.00
///
[EnumMember(Value = "C11.01.00")]
- C110100 = 293,
+ C110100 = 287,
///
/// Enum C110200 for value: C11.02.00
///
[EnumMember(Value = "C11.02.00")]
- C110200 = 294,
+ C110200 = 288,
///
/// Enum C110201 for value: C11.02.01
///
[EnumMember(Value = "C11.02.01")]
- C110201 = 295,
+ C110201 = 289,
///
/// Enum C110202 for value: C11.02.02
///
[EnumMember(Value = "C11.02.02")]
- C110202 = 296,
+ C110202 = 290,
///
/// Enum C110300 for value: C11.03.00
///
[EnumMember(Value = "C11.03.00")]
- C110300 = 297,
+ C110300 = 291,
///
/// Enum C110301 for value: C11.03.01
///
[EnumMember(Value = "C11.03.01")]
- C110301 = 298,
+ C110301 = 292,
///
/// Enum C110302 for value: C11.03.02
///
[EnumMember(Value = "C11.03.02")]
- C110302 = 299,
+ C110302 = 293,
///
/// Enum C110400 for value: C11.04.00
///
[EnumMember(Value = "C11.04.00")]
- C110400 = 300,
+ C110400 = 294,
///
/// Enum C110500 for value: C11.05.00
///
[EnumMember(Value = "C11.05.00")]
- C110500 = 301,
+ C110500 = 295,
///
/// Enum C110501 for value: C11.05.01
///
[EnumMember(Value = "C11.05.01")]
- C110501 = 302,
+ C110501 = 296,
///
/// Enum C110502 for value: C11.05.02
///
[EnumMember(Value = "C11.05.02")]
- C110502 = 303,
+ C110502 = 297,
///
/// Enum C110503 for value: C11.05.03
///
[EnumMember(Value = "C11.05.03")]
- C110503 = 304,
+ C110503 = 298,
///
/// Enum C110600 for value: C11.06.00
///
[EnumMember(Value = "C11.06.00")]
- C110600 = 305
+ C110600 = 299
}
diff --git a/generator_csharp/package/src/HubsanteModel/Sas/Model/Appointment.cs b/generator_csharp/package/src/HubsanteModel/Sas/Model/Appointment.cs
new file mode 100644
index 0000000000..3da3fce5d4
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Sas/Model/Appointment.cs
@@ -0,0 +1,326 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Sas.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Sas.Model
+{
+ ///
+ /// Appointment
+ ///
+ [DataContract(Name = "appointment")]
+ public partial class Appointment : IValidatableObject
+ {
+ ///
+ /// Indique un message de création ou de modification du rendez-vous
+ ///
+ /// Indique un message de création ou de modification du rendez-vous
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum MethodEnum
+ {
+ ///
+ /// Enum CreateAppointment for value: CreateAppointment
+ ///
+ [EnumMember(Value = "CreateAppointment")]
+ CreateAppointment = 1,
+
+ ///
+ /// Enum UpdateAppointment for value: UpdateAppointment
+ ///
+ [EnumMember(Value = "UpdateAppointment")]
+ UpdateAppointment = 2
+ }
+
+
+ ///
+ /// Indique un message de création ou de modification du rendez-vous
+ ///
+ /// Indique un message de création ou de modification du rendez-vous
+ /*
+ example.json#/method
+ */
+ [DataMember(Name = "method", IsRequired = true, EmitDefaultValue = true)]
+ public MethodEnum Method { get; set; }
+ ///
+ /// Indique le statut du rendez-vous
+ ///
+ /// Indique le statut du rendez-vous
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum StatusEnum
+ {
+ ///
+ /// Enum Pending for value: pending
+ ///
+ [EnumMember(Value = "pending")]
+ Pending = 1,
+
+ ///
+ /// Enum Booked for value: booked
+ ///
+ [EnumMember(Value = "booked")]
+ Booked = 2,
+
+ ///
+ /// Enum Fulfilled for value: fulfilled
+ ///
+ [EnumMember(Value = "fulfilled")]
+ Fulfilled = 3,
+
+ ///
+ /// Enum Noshow for value: noshow
+ ///
+ [EnumMember(Value = "noshow")]
+ Noshow = 4,
+
+ ///
+ /// Enum Cancelled for value: cancelled
+ ///
+ [EnumMember(Value = "cancelled")]
+ Cancelled = 5
+ }
+
+
+ ///
+ /// Indique le statut du rendez-vous
+ ///
+ /// Indique le statut du rendez-vous
+ /*
+ example.json#/status
+ */
+ [DataMember(Name = "status", IsRequired = true, EmitDefaultValue = true)]
+ public StatusEnum Status { get; set; }
+ ///
+ /// Indique la catĂ©gorie de lâorientation de rendez-vous
+ ///
+ /// Indique la catĂ©gorie de lâorientation de rendez-vous
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum OrientationCategoryEnum
+ {
+ ///
+ /// Enum CPTS for value: CPTS
+ ///
+ [EnumMember(Value = "CPTS")]
+ CPTS = 1,
+
+ ///
+ /// Enum MSP for value: MSP
+ ///
+ [EnumMember(Value = "MSP")]
+ MSP = 2,
+
+ ///
+ /// Enum CDS for value: CDS
+ ///
+ [EnumMember(Value = "CDS")]
+ CDS = 3,
+
+ ///
+ /// Enum SOS for value: SOS
+ ///
+ [EnumMember(Value = "SOS")]
+ SOS = 4,
+
+ ///
+ /// Enum PS for value: PS
+ ///
+ [EnumMember(Value = "PS")]
+ PS = 5,
+
+ ///
+ /// Enum PDM for value: PDM
+ ///
+ [EnumMember(Value = "PDM")]
+ PDM = 6
+ }
+
+
+ ///
+ /// Indique la catĂ©gorie de lâorientation de rendez-vous
+ ///
+ /// Indique la catĂ©gorie de lâorientation de rendez-vous
+ /*
+ example.json#/orientationCategory
+ */
+ [DataMember(Name = "orientationCategory", EmitDefaultValue = false)]
+ public OrientationCategoryEnum? OrientationCategory { get; set; }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected Appointment() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Un identifiant technique unique par RDV est transmis. Cet identifiant est dĂ©fini par la plateforme numĂ©rique SAS et peut prendre la forme dâun UUID par exemple. La solution Ă©diteur devra sâappuyer sur cet ID pour la gestion des requĂȘtes de mises Ă jour. (required).
+ /// Indique un message de création ou de modification du rendez-vous (required).
+ /// Indique la date et lâheure de la prise de RDV (required).
+ /// Indique la date et lâhoraire de dĂ©but du rendez-vous (required).
+ /// Indique la date et lâhoraire de fin du rendez-vous.
+ /// Indique le statut du rendez-vous (required).
+ /// Indique la catĂ©gorie de lâorientation de rendez-vous.
+ /// practitioner.
+ /// organization.
+ /// regulator (required).
+ public Appointment(string appointmentId = default(string), MethodEnum method = default(MethodEnum), DateTime created = default(DateTime), DateTime start = default(DateTime), DateTime end = default(DateTime), StatusEnum status = default(StatusEnum), OrientationCategoryEnum? orientationCategory = default(OrientationCategoryEnum?), Practitioner practitioner = default(Practitioner), Organization organization = default(Organization), Regulator regulator = default(Regulator))
+ {
+ // to ensure "appointmentId" is required (not null)
+ if (appointmentId == null)
+ {
+ throw new ArgumentNullException("appointmentId is a required property for Appointment and cannot be null");
+ }
+ this.AppointmentId = appointmentId;
+ this.Method = method;
+ this.Created = created;
+ this.Start = start;
+ this.Status = status;
+ // to ensure "regulator" is required (not null)
+ if (regulator == null)
+ {
+ throw new ArgumentNullException("regulator is a required property for Appointment and cannot be null");
+ }
+ this.Regulator = regulator;
+ this.End = end;
+ this.OrientationCategory = orientationCategory;
+ this.Practitioner = practitioner;
+ this.Organization = organization;
+ }
+
+ ///
+ /// Un identifiant technique unique par RDV est transmis. Cet identifiant est dĂ©fini par la plateforme numĂ©rique SAS et peut prendre la forme dâun UUID par exemple. La solution Ă©diteur devra sâappuyer sur cet ID pour la gestion des requĂȘtes de mises Ă jour.
+ ///
+ /// Un identifiant technique unique par RDV est transmis. Cet identifiant est dĂ©fini par la plateforme numĂ©rique SAS et peut prendre la forme dâun UUID par exemple. La solution Ă©diteur devra sâappuyer sur cet ID pour la gestion des requĂȘtes de mises Ă jour.
+ /*
+ example.json#/appointmentId
+ */
+ [DataMember(Name = "appointmentId", IsRequired = true, EmitDefaultValue = true)]
+ public string AppointmentId { get; set; }
+
+ ///
+ /// Indique la date et lâheure de la prise de RDV
+ ///
+ /// Indique la date et lâheure de la prise de RDV
+ [DataMember(Name = "created", IsRequired = true, EmitDefaultValue = true)]
+ public DateTime Created { get; set; }
+
+ ///
+ /// Indique la date et lâhoraire de dĂ©but du rendez-vous
+ ///
+ /// Indique la date et lâhoraire de dĂ©but du rendez-vous
+ [DataMember(Name = "start", IsRequired = true, EmitDefaultValue = true)]
+ public DateTime Start { get; set; }
+
+ ///
+ /// Indique la date et lâhoraire de fin du rendez-vous
+ ///
+ /// Indique la date et lâhoraire de fin du rendez-vous
+ [DataMember(Name = "end", EmitDefaultValue = false)]
+ public DateTime End { get; set; }
+
+ ///
+ /// Gets or Sets Practitioner
+ ///
+ [DataMember(Name = "practitioner", EmitDefaultValue = false)]
+ public Practitioner Practitioner { get; set; }
+
+ ///
+ /// Gets or Sets Organization
+ ///
+ [DataMember(Name = "organization", EmitDefaultValue = false)]
+ public Organization Organization { get; set; }
+
+ ///
+ /// Gets or Sets Regulator
+ ///
+ [DataMember(Name = "regulator", IsRequired = true, EmitDefaultValue = true)]
+ public Regulator Regulator { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class Appointment {\n");
+ sb.Append(" AppointmentId: ").Append(AppointmentId).Append("\n");
+ sb.Append(" Method: ").Append(Method).Append("\n");
+ sb.Append(" Created: ").Append(Created).Append("\n");
+ sb.Append(" Start: ").Append(Start).Append("\n");
+ sb.Append(" End: ").Append(End).Append("\n");
+ sb.Append(" Status: ").Append(Status).Append("\n");
+ sb.Append(" OrientationCategory: ").Append(OrientationCategory).Append("\n");
+ sb.Append(" Practitioner: ").Append(Practitioner).Append("\n");
+ sb.Append(" Organization: ").Append(Organization).Append("\n");
+ sb.Append(" Regulator: ").Append(Regulator).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ if (this.Created != null) {
+ // Created (DateTime) pattern
+ Regex regexCreated = new Regex(@"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", RegexOptions.CultureInvariant);
+ if (!regexCreated.Match(this.Created).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Created, must match a pattern of " + regexCreated, new [] { "Created" });
+ }
+ }
+
+ if (this.Start != null) {
+ // Start (DateTime) pattern
+ Regex regexStart = new Regex(@"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", RegexOptions.CultureInvariant);
+ if (!regexStart.Match(this.Start).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Start, must match a pattern of " + regexStart, new [] { "Start" });
+ }
+ }
+
+ if (this.End != null) {
+ // End (DateTime) pattern
+ Regex regexEnd = new Regex(@"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", RegexOptions.CultureInvariant);
+ if (!regexEnd.Match(this.End).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for End, must match a pattern of " + regexEnd, new [] { "End" });
+ }
+ }
+
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Sas/Model/AppointmentWrapper.cs b/generator_csharp/package/src/HubsanteModel/Sas/Model/AppointmentWrapper.cs
new file mode 100644
index 0000000000..aea7c8913c
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Sas/Model/AppointmentWrapper.cs
@@ -0,0 +1,92 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Sas.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Sas.Model
+{
+ ///
+ /// AppointmentWrapper
+ ///
+ [DataContract(Name = "appointmentWrapper")]
+ public partial class AppointmentWrapper : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected AppointmentWrapper() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// appointment (required).
+ public AppointmentWrapper(Appointment appointment = default(Appointment))
+ {
+ // to ensure "appointment" is required (not null)
+ if (appointment == null)
+ {
+ throw new ArgumentNullException("appointment is a required property for AppointmentWrapper and cannot be null");
+ }
+ this.Appointment = appointment;
+ }
+
+ ///
+ /// Gets or Sets Appointment
+ ///
+ [DataMember(Name = "appointment", IsRequired = true, EmitDefaultValue = true)]
+ public Appointment Appointment { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class AppointmentWrapper {\n");
+ sb.Append(" Appointment: ").Append(Appointment).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Sas/Model/Organization.cs b/generator_csharp/package/src/HubsanteModel/Sas/Model/Organization.cs
new file mode 100644
index 0000000000..a7ffa28bd2
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Sas/Model/Organization.cs
@@ -0,0 +1,114 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Sas.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Sas.Model
+{
+ ///
+ /// Organization
+ ///
+ [DataContract(Name = "organization")]
+ public partial class Organization : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected Organization() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Indique l'identifiant national de la structure (required).
+ /// Indique le nom de la structure (required).
+ public Organization(string organizationId = default(string), string name = default(string))
+ {
+ // to ensure "organizationId" is required (not null)
+ if (organizationId == null)
+ {
+ throw new ArgumentNullException("organizationId is a required property for Organization and cannot be null");
+ }
+ this.OrganizationId = organizationId;
+ // to ensure "name" is required (not null)
+ if (name == null)
+ {
+ throw new ArgumentNullException("name is a required property for Organization and cannot be null");
+ }
+ this.Name = name;
+ }
+
+ ///
+ /// Indique l'identifiant national de la structure
+ ///
+ /// Indique l'identifiant national de la structure
+ /*
+ example.json#/organization/organizationId
+ */
+ [DataMember(Name = "organizationId", IsRequired = true, EmitDefaultValue = true)]
+ public string OrganizationId { get; set; }
+
+ ///
+ /// Indique le nom de la structure
+ ///
+ /// Indique le nom de la structure
+ /*
+ example.json#/organization/name
+ */
+ [DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
+ public string Name { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class Organization {\n");
+ sb.Append(" OrganizationId: ").Append(OrganizationId).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Sas/Model/Practitioner.cs b/generator_csharp/package/src/HubsanteModel/Sas/Model/Practitioner.cs
new file mode 100644
index 0000000000..ea722de7c7
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Sas/Model/Practitioner.cs
@@ -0,0 +1,193 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Sas.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Sas.Model
+{
+ ///
+ /// Practitioner
+ ///
+ [DataContract(Name = "practitioner")]
+ public partial class Practitioner : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected Practitioner() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Identifiant national (RPPS) du PS (required).
+ /// Nom du professionnel de santé (required).
+ /// Prénom du professionnel de santé (required).
+ /// Code de la spécialité du professionnel de santé.
+ /// Url de la terminologie utilisée pour la spécialité.
+ /// Code de la profession du professionnel de santé.
+ /// Url de la terminologie utilisée pour la profession.
+ public Practitioner(string rppsId = default(string), string lastName = default(string), string firstName = default(string), string specialityCode = default(string), string specialityUrl = default(string), string professionCode = default(string), string professionUrl = default(string))
+ {
+ // to ensure "rppsId" is required (not null)
+ if (rppsId == null)
+ {
+ throw new ArgumentNullException("rppsId is a required property for Practitioner and cannot be null");
+ }
+ this.RppsId = rppsId;
+ // to ensure "lastName" is required (not null)
+ if (lastName == null)
+ {
+ throw new ArgumentNullException("lastName is a required property for Practitioner and cannot be null");
+ }
+ this.LastName = lastName;
+ // to ensure "firstName" is required (not null)
+ if (firstName == null)
+ {
+ throw new ArgumentNullException("firstName is a required property for Practitioner and cannot be null");
+ }
+ this.FirstName = firstName;
+ this.SpecialityCode = specialityCode;
+ this.SpecialityUrl = specialityUrl;
+ this.ProfessionCode = professionCode;
+ this.ProfessionUrl = professionUrl;
+ }
+
+ ///
+ /// Identifiant national (RPPS) du PS
+ ///
+ /// Identifiant national (RPPS) du PS
+ /*
+ example.json#/practitioner/rppsId
+ */
+ [DataMember(Name = "rppsId", IsRequired = true, EmitDefaultValue = true)]
+ public string RppsId { get; set; }
+
+ ///
+ /// Nom du professionnel de santé
+ ///
+ /// Nom du professionnel de santé
+ /*
+ example.json#/practitioner/lastName
+ */
+ [DataMember(Name = "lastName", IsRequired = true, EmitDefaultValue = true)]
+ public string LastName { get; set; }
+
+ ///
+ /// Prénom du professionnel de santé
+ ///
+ /// Prénom du professionnel de santé
+ /*
+ example.json#/practitioner/firstName
+ */
+ [DataMember(Name = "firstName", IsRequired = true, EmitDefaultValue = true)]
+ public string FirstName { get; set; }
+
+ ///
+ /// Code de la spécialité du professionnel de santé
+ ///
+ /// Code de la spécialité du professionnel de santé
+ /*
+ example.json#/practitioner/specialityCode
+ */
+ [DataMember(Name = "specialityCode", EmitDefaultValue = false)]
+ public string SpecialityCode { get; set; }
+
+ ///
+ /// Url de la terminologie utilisée pour la spécialité
+ ///
+ /// Url de la terminologie utilisée pour la spécialité
+ /*
+ example.json#/practitioner/specialityUrl
+ */
+ [DataMember(Name = "specialityUrl", EmitDefaultValue = false)]
+ public string SpecialityUrl { get; set; }
+
+ ///
+ /// Code de la profession du professionnel de santé
+ ///
+ /// Code de la profession du professionnel de santé
+ /*
+ example.json#/practitioner/professionCode
+ */
+ [DataMember(Name = "professionCode", EmitDefaultValue = false)]
+ public string ProfessionCode { get; set; }
+
+ ///
+ /// Url de la terminologie utilisée pour la profession
+ ///
+ /// Url de la terminologie utilisée pour la profession
+ /*
+ example.json#/practitioner/professionUrl
+ */
+ [DataMember(Name = "professionUrl", EmitDefaultValue = false)]
+ public string ProfessionUrl { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class Practitioner {\n");
+ sb.Append(" RppsId: ").Append(RppsId).Append("\n");
+ sb.Append(" LastName: ").Append(LastName).Append("\n");
+ sb.Append(" FirstName: ").Append(FirstName).Append("\n");
+ sb.Append(" SpecialityCode: ").Append(SpecialityCode).Append("\n");
+ sb.Append(" SpecialityUrl: ").Append(SpecialityUrl).Append("\n");
+ sb.Append(" ProfessionCode: ").Append(ProfessionCode).Append("\n");
+ sb.Append(" ProfessionUrl: ").Append(ProfessionUrl).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ if (this.RppsId != null) {
+ // RppsId (string) pattern
+ Regex regexRppsId = new Regex(@"^81[0-9]{10}$", RegexOptions.CultureInvariant);
+ if (!regexRppsId.Match(this.RppsId).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for RppsId, must match a pattern of " + regexRppsId, new [] { "RppsId" });
+ }
+ }
+
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Sas/Model/Regulator.cs b/generator_csharp/package/src/HubsanteModel/Sas/Model/Regulator.cs
new file mode 100644
index 0000000000..d0d52253a1
--- /dev/null
+++ b/generator_csharp/package/src/HubsanteModel/Sas/Model/Regulator.cs
@@ -0,0 +1,145 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = HubsanteModel/Sas.Client.OpenAPIDateConverter;
+
+namespace HubsanteModel/Sas.Model
+{
+ ///
+ /// Regulator
+ ///
+ [DataContract(Name = "regulator")]
+ public partial class Regulator : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected Regulator() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Identifiant du régulateur ayant pris le RDV.
+ /// Nom du régulateur ayant pris le RDV (required).
+ /// Prénom du régulateur ayant pris le RDV (required).
+ /// Adresse mail du régulateur ayant pris le RDV (required).
+ public Regulator(string regulatorId = default(string), string regulatorName = default(string), string regulatorFirstname = default(string), string regulatorEmail = default(string))
+ {
+ // to ensure "regulatorName" is required (not null)
+ if (regulatorName == null)
+ {
+ throw new ArgumentNullException("regulatorName is a required property for Regulator and cannot be null");
+ }
+ this.RegulatorName = regulatorName;
+ // to ensure "regulatorFirstname" is required (not null)
+ if (regulatorFirstname == null)
+ {
+ throw new ArgumentNullException("regulatorFirstname is a required property for Regulator and cannot be null");
+ }
+ this.RegulatorFirstname = regulatorFirstname;
+ // to ensure "regulatorEmail" is required (not null)
+ if (regulatorEmail == null)
+ {
+ throw new ArgumentNullException("regulatorEmail is a required property for Regulator and cannot be null");
+ }
+ this.RegulatorEmail = regulatorEmail;
+ this.RegulatorId = regulatorId;
+ }
+
+ ///
+ /// Identifiant du régulateur ayant pris le RDV
+ ///
+ /// Identifiant du régulateur ayant pris le RDV
+ /*
+ example.json#/regulator/regulatorId
+ */
+ [DataMember(Name = "regulatorId", EmitDefaultValue = false)]
+ public string RegulatorId { get; set; }
+
+ ///
+ /// Nom du régulateur ayant pris le RDV
+ ///
+ /// Nom du régulateur ayant pris le RDV
+ /*
+ example.json#/regulator/regulatorName
+ */
+ [DataMember(Name = "regulatorName", IsRequired = true, EmitDefaultValue = true)]
+ public string RegulatorName { get; set; }
+
+ ///
+ /// Prénom du régulateur ayant pris le RDV
+ ///
+ /// Prénom du régulateur ayant pris le RDV
+ /*
+ example.json#/regulator/regulatorFirstname
+ */
+ [DataMember(Name = "regulatorFirstname", IsRequired = true, EmitDefaultValue = true)]
+ public string RegulatorFirstname { get; set; }
+
+ ///
+ /// Adresse mail du régulateur ayant pris le RDV
+ ///
+ /// Adresse mail du régulateur ayant pris le RDV
+ /*
+ example.json#/regulator/regulatorEmail
+ */
+ [DataMember(Name = "regulatorEmail", IsRequired = true, EmitDefaultValue = true)]
+ public string RegulatorEmail { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class Regulator {\n");
+ sb.Append(" RegulatorId: ").Append(RegulatorId).Append("\n");
+ sb.Append(" RegulatorName: ").Append(RegulatorName).Append("\n");
+ sb.Append(" RegulatorFirstname: ").Append(RegulatorFirstname).Append("\n");
+ sb.Append(" RegulatorEmail: ").Append(RegulatorEmail).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/generator_csharp/package/src/HubsanteModel/Technical.noreq/Model/TechnicalNoreq.cs b/generator_csharp/package/src/HubsanteModel/Technical.noreq/Model/TechnicalNoreq.cs
index b649e6b903..05b5eff603 100644
--- a/generator_csharp/package/src/HubsanteModel/Technical.noreq/Model/TechnicalNoreq.cs
+++ b/generator_csharp/package/src/HubsanteModel/Technical.noreq/Model/TechnicalNoreq.cs
@@ -360,7 +360,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.EmailField != null) {
// EmailField (string) pattern
- Regex regexEmailField = new Regex(@"^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$", RegexOptions.CultureInvariant);
+ Regex regexEmailField = new Regex(@"^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$", RegexOptions.CultureInvariant);
if (!regexEmailField.Match(this.EmailField).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for EmailField, must match a pattern of " + regexEmailField, new [] { "EmailField" });
diff --git a/generator_csharp/package/src/HubsanteModel/Technical/Model/Technical.cs b/generator_csharp/package/src/HubsanteModel/Technical/Model/Technical.cs
index 174928bd45..69b0a71b6e 100644
--- a/generator_csharp/package/src/HubsanteModel/Technical/Model/Technical.cs
+++ b/generator_csharp/package/src/HubsanteModel/Technical/Model/Technical.cs
@@ -397,7 +397,7 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
if (this.EmailField != null) {
// EmailField (string) pattern
- Regex regexEmailField = new Regex(@"^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$", RegexOptions.CultureInvariant);
+ Regex regexEmailField = new Regex(@"^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$", RegexOptions.CultureInvariant);
if (!regexEmailField.Match(this.EmailField).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for EmailField, must match a pattern of " + regexEmailField, new [] { "EmailField" });
diff --git a/generator_php-symfony/.gitkeep b/generator_php-symfony/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/generator_php-symfony/config/generated/EMSI/EMSI.generator-config.json b/generator_php-symfony/config/generated/EMSI/EMSI.generator-config.json
new file mode 100644
index 0000000000..d805ba4065
--- /dev/null
+++ b/generator_php-symfony/config/generated/EMSI/EMSI.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/EMSI.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\emsi",
+ "packageName": "hubsante_model.emsi",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/EMSI/EMSI.wrapper.generator-config.json b/generator_php-symfony/config/generated/EMSI/EMSI.wrapper.generator-config.json
new file mode 100644
index 0000000000..8ec618a28b
--- /dev/null
+++ b/generator_php-symfony/config/generated/EMSI/EMSI.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/EMSI.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "emsiWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\emsi",
+ "packageName": "hubsante_model.emsi",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/GEO-POS/GEO-POS.generator-config.json b/generator_php-symfony/config/generated/GEO-POS/GEO-POS.generator-config.json
new file mode 100644
index 0000000000..55682bad8c
--- /dev/null
+++ b/generator_php-symfony/config/generated/GEO-POS/GEO-POS.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/GEO-POS.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\geolocation",
+ "packageName": "hubsante_model.geolocation",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/GEO-POS/GEO-POS.wrapper.generator-config.json b/generator_php-symfony/config/generated/GEO-POS/GEO-POS.wrapper.generator-config.json
new file mode 100644
index 0000000000..26a2b9c5e5
--- /dev/null
+++ b/generator_php-symfony/config/generated/GEO-POS/GEO-POS.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/GEO-POS.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "geoPositionsUpdateWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\geolocation",
+ "packageName": "hubsante_model.geolocation",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/GEO-REQ/GEO-REQ.generator-config.json b/generator_php-symfony/config/generated/GEO-REQ/GEO-REQ.generator-config.json
new file mode 100644
index 0000000000..d63a5bbbf4
--- /dev/null
+++ b/generator_php-symfony/config/generated/GEO-REQ/GEO-REQ.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/GEO-REQ.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\geolocation",
+ "packageName": "hubsante_model.geolocation",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/GEO-REQ/GEO-REQ.wrapper.generator-config.json b/generator_php-symfony/config/generated/GEO-REQ/GEO-REQ.wrapper.generator-config.json
new file mode 100644
index 0000000000..2f22bf2e70
--- /dev/null
+++ b/generator_php-symfony/config/generated/GEO-REQ/GEO-REQ.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/GEO-REQ.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "geoResourcesRequestWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\geolocation",
+ "packageName": "hubsante_model.geolocation",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/GEO-RES/GEO-RES.generator-config.json b/generator_php-symfony/config/generated/GEO-RES/GEO-RES.generator-config.json
new file mode 100644
index 0000000000..bbac25ff7c
--- /dev/null
+++ b/generator_php-symfony/config/generated/GEO-RES/GEO-RES.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/GEO-RES.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\geolocation",
+ "packageName": "hubsante_model.geolocation",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/GEO-RES/GEO-RES.wrapper.generator-config.json b/generator_php-symfony/config/generated/GEO-RES/GEO-RES.wrapper.generator-config.json
new file mode 100644
index 0000000000..145fdf6814
--- /dev/null
+++ b/generator_php-symfony/config/generated/GEO-RES/GEO-RES.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/GEO-RES.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "geoResourcesDetailsWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\geolocation",
+ "packageName": "hubsante_model.geolocation",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-DE/RC-DE.generator-config.json b/generator_php-symfony/config/generated/RC-DE/RC-DE.generator-config.json
new file mode 100644
index 0000000000..3fdb078dd9
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-DE/RC-DE.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RC-DE.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\rcde",
+ "packageName": "hubsante_model.rcde",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-DE/RC-DE.wrapper.generator-config.json b/generator_php-symfony/config/generated/RC-DE/RC-DE.wrapper.generator-config.json
new file mode 100644
index 0000000000..47084885c5
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-DE/RC-DE.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RC-DE.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "distributionElementWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\rcde",
+ "packageName": "hubsante_model.rcde",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-EDA/RC-EDA.generator-config.json b/generator_php-symfony/config/generated/RC-EDA/RC-EDA.generator-config.json
new file mode 100644
index 0000000000..78593913e5
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-EDA/RC-EDA.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RC-EDA.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\cisu",
+ "packageName": "hubsante_model.cisu",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-EDA/RC-EDA.wrapper.generator-config.json b/generator_php-symfony/config/generated/RC-EDA/RC-EDA.wrapper.generator-config.json
new file mode 100644
index 0000000000..96a841323f
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-EDA/RC-EDA.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RC-EDA.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "createCaseWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\cisu",
+ "packageName": "hubsante_model.cisu",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-REF/RC-REF.generator-config.json b/generator_php-symfony/config/generated/RC-REF/RC-REF.generator-config.json
new file mode 100644
index 0000000000..11b78bb8f5
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-REF/RC-REF.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RC-REF.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\reference",
+ "packageName": "hubsante_model.reference",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-REF/RC-REF.wrapper.generator-config.json b/generator_php-symfony/config/generated/RC-REF/RC-REF.wrapper.generator-config.json
new file mode 100644
index 0000000000..d3525b1d99
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-REF/RC-REF.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RC-REF.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "referenceWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\reference",
+ "packageName": "hubsante_model.reference",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-RI/RC-RI.generator-config.json b/generator_php-symfony/config/generated/RC-RI/RC-RI.generator-config.json
new file mode 100644
index 0000000000..e65e768474
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-RI/RC-RI.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RC-RI.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\cisu.resources",
+ "packageName": "hubsante_model.cisu.resources",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RC-RI/RC-RI.wrapper.generator-config.json b/generator_php-symfony/config/generated/RC-RI/RC-RI.wrapper.generator-config.json
new file mode 100644
index 0000000000..fc1920eb98
--- /dev/null
+++ b/generator_php-symfony/config/generated/RC-RI/RC-RI.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RC-RI.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "resourcesInfoCisuWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\cisu.resources",
+ "packageName": "hubsante_model.cisu.resources",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-BPV/RS-BPV.generator-config.json b/generator_php-symfony/config/generated/RS-BPV/RS-BPV.generator-config.json
new file mode 100644
index 0000000000..d467de9a2b
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-BPV/RS-BPV.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-BPV.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\interventionreport",
+ "packageName": "hubsante_model.interventionreport",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-BPV/RS-BPV.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-BPV/RS-BPV.wrapper.generator-config.json
new file mode 100644
index 0000000000..6115a98472
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-BPV/RS-BPV.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-BPV.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "interventionReportWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\interventionreport",
+ "packageName": "hubsante_model.interventionreport",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-DR/RS-DR.generator-config.json b/generator_php-symfony/config/generated/RS-DR/RS-DR.generator-config.json
new file mode 100644
index 0000000000..508274f869
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-DR/RS-DR.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-DR.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.request",
+ "packageName": "hubsante_model.resources.request",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-DR/RS-DR.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-DR/RS-DR.wrapper.generator-config.json
new file mode 100644
index 0000000000..56a1989507
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-DR/RS-DR.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-DR.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "resourcesRequestWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.request",
+ "packageName": "hubsante_model.resources.request",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-EDA-MAJ/RS-EDA-MAJ.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-EDA-MAJ/RS-EDA-MAJ.wrapper.generator-config.json
new file mode 100644
index 0000000000..61941dcd13
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-EDA-MAJ/RS-EDA-MAJ.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-EDA-MAJ.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "createCaseHealthUpdateWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\health",
+ "packageName": "hubsante_model.health",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-EDA/RS-EDA.generator-config.json b/generator_php-symfony/config/generated/RS-EDA/RS-EDA.generator-config.json
new file mode 100644
index 0000000000..e4893f773d
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-EDA/RS-EDA.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-EDA.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\health",
+ "packageName": "hubsante_model.health",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-EDA/RS-EDA.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-EDA/RS-EDA.wrapper.generator-config.json
new file mode 100644
index 0000000000..9d2722b679
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-EDA/RS-EDA.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-EDA.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "createCaseHealthWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\health",
+ "packageName": "hubsante_model.health",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-ER/RS-ER.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-ER/RS-ER.wrapper.generator-config.json
new file mode 100644
index 0000000000..35c540ea8e
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-ER/RS-ER.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-ER.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "resourcesEngagementWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.info",
+ "packageName": "hubsante_model.resources.info",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-RI/RS-RI.generator-config.json b/generator_php-symfony/config/generated/RS-RI/RS-RI.generator-config.json
new file mode 100644
index 0000000000..f7f6851c3e
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-RI/RS-RI.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-RI.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.info",
+ "packageName": "hubsante_model.resources.info",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-RI/RS-RI.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-RI/RS-RI.wrapper.generator-config.json
new file mode 100644
index 0000000000..1c4a7e5a37
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-RI/RS-RI.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-RI.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "resourcesInfoWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.info",
+ "packageName": "hubsante_model.resources.info",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-RPIS/RS-RPIS.generator-config.json b/generator_php-symfony/config/generated/RS-RPIS/RS-RPIS.generator-config.json
new file mode 100644
index 0000000000..4c678ab1cd
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-RPIS/RS-RPIS.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-RPIS.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\rpis",
+ "packageName": "hubsante_model.rpis",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-RPIS/RS-RPIS.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-RPIS/RS-RPIS.wrapper.generator-config.json
new file mode 100644
index 0000000000..e320c0e7b8
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-RPIS/RS-RPIS.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-RPIS.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "rpisWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\rpis",
+ "packageName": "hubsante_model.rpis",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-RR/RS-RR.generator-config.json b/generator_php-symfony/config/generated/RS-RR/RS-RR.generator-config.json
new file mode 100644
index 0000000000..a6fc8b7bb9
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-RR/RS-RR.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-RR.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.response",
+ "packageName": "hubsante_model.resources.response",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-RR/RS-RR.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-RR/RS-RR.wrapper.generator-config.json
new file mode 100644
index 0000000000..48786a4af8
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-RR/RS-RR.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-RR.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "resourcesResponseWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.response",
+ "packageName": "hubsante_model.resources.response",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-SAS-RDV/RS-SAS-RDV.generator-config.json b/generator_php-symfony/config/generated/RS-SAS-RDV/RS-SAS-RDV.generator-config.json
new file mode 100644
index 0000000000..4c9cb7bb5e
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-SAS-RDV/RS-SAS-RDV.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-SAS-RDV.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\sas",
+ "packageName": "hubsante_model.sas",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-SAS-RDV/RS-SAS-RDV.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-SAS-RDV/RS-SAS-RDV.wrapper.generator-config.json
new file mode 100644
index 0000000000..8ecc328279
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-SAS-RDV/RS-SAS-RDV.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-SAS-RDV.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "appointmentWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\sas",
+ "packageName": "hubsante_model.sas",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-SR/RS-SR.generator-config.json b/generator_php-symfony/config/generated/RS-SR/RS-SR.generator-config.json
new file mode 100644
index 0000000000..0f658a5418
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-SR/RS-SR.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-SR.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.status",
+ "packageName": "hubsante_model.resources.status",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-SR/RS-SR.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-SR/RS-SR.wrapper.generator-config.json
new file mode 100644
index 0000000000..4a1453683f
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-SR/RS-SR.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-SR.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "resourcesStatusWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\resources.status",
+ "packageName": "hubsante_model.resources.status",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-URL/RS-URL.generator-config.json b/generator_php-symfony/config/generated/RS-URL/RS-URL.generator-config.json
new file mode 100644
index 0000000000..9f6f85beb3
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-URL/RS-URL.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-URL.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\documentlink",
+ "packageName": "hubsante_model.documentlink",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/RS-URL/RS-URL.wrapper.generator-config.json b/generator_php-symfony/config/generated/RS-URL/RS-URL.wrapper.generator-config.json
new file mode 100644
index 0000000000..89353279f6
--- /dev/null
+++ b/generator_php-symfony/config/generated/RS-URL/RS-URL.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/RS-URL.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "documentLinkWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\documentlink",
+ "packageName": "hubsante_model.documentlink",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/TECHNICAL/TECHNICAL.generator-config.json b/generator_php-symfony/config/generated/TECHNICAL/TECHNICAL.generator-config.json
new file mode 100644
index 0000000000..f80843b4ac
--- /dev/null
+++ b/generator_php-symfony/config/generated/TECHNICAL/TECHNICAL.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/TECHNICAL.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\technical",
+ "packageName": "hubsante_model.technical",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/TECHNICAL/TECHNICAL.wrapper.generator-config.json b/generator_php-symfony/config/generated/TECHNICAL/TECHNICAL.wrapper.generator-config.json
new file mode 100644
index 0000000000..fff7b1c3c4
--- /dev/null
+++ b/generator_php-symfony/config/generated/TECHNICAL/TECHNICAL.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/TECHNICAL.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "technicalWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\technical",
+ "packageName": "hubsante_model.technical",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/TECHNICAL_NOREQ/TECHNICAL_NOREQ.generator-config.json b/generator_php-symfony/config/generated/TECHNICAL_NOREQ/TECHNICAL_NOREQ.generator-config.json
new file mode 100644
index 0000000000..680a286655
--- /dev/null
+++ b/generator_php-symfony/config/generated/TECHNICAL_NOREQ/TECHNICAL_NOREQ.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/TECHNICAL_NOREQ.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\technical.noreq",
+ "packageName": "hubsante_model.technical.noreq",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/generated/TECHNICAL_NOREQ/TECHNICAL_NOREQ.wrapper.generator-config.json b/generator_php-symfony/config/generated/TECHNICAL_NOREQ/TECHNICAL_NOREQ.wrapper.generator-config.json
new file mode 100644
index 0000000000..455a3e8b00
--- /dev/null
+++ b/generator_php-symfony/config/generated/TECHNICAL_NOREQ/TECHNICAL_NOREQ.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+ "inputSpec": "../generator/input/TECHNICAL_NOREQ.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "templateDir": "./config/templates/wrapper",
+ "globalProperties": {
+ "models": "technicalNoreqWrapper",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\technical.noreq",
+ "packageName": "hubsante_model.technical.noreq",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/manual/EDXL-DE/EDXL-DE.generator-config.json b/generator_php-symfony/config/manual/EDXL-DE/EDXL-DE.generator-config.json
new file mode 100644
index 0000000000..fe2fdf0103
--- /dev/null
+++ b/generator_php-symfony/config/manual/EDXL-DE/EDXL-DE.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/EDXL-DE.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\edxl",
+ "packageName": "hubsante_model.edxl",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/manual/RC-DE/RC-DE.generator-config.json b/generator_php-symfony/config/manual/RC-DE/RC-DE.generator-config.json
new file mode 100644
index 0000000000..3fdb078dd9
--- /dev/null
+++ b/generator_php-symfony/config/manual/RC-DE/RC-DE.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RC-DE.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\rcde",
+ "packageName": "hubsante_model.rcde",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/manual/RC-DE/RC-DE.usecase.generator-config.json b/generator_php-symfony/config/manual/RC-DE/RC-DE.usecase.generator-config.json
new file mode 100644
index 0000000000..bc8ef3953c
--- /dev/null
+++ b/generator_php-symfony/config/manual/RC-DE/RC-DE.usecase.generator-config.json
@@ -0,0 +1,32 @@
+{
+"inputSpec": "../generator/input/RC-DE.openapi.yaml",
+"outputDir": "package/",
+"generatorName": "php-symfony",
+"templateDir": "./config/templates/distributionElement",
+"globalProperties": {
+"models": "distributionElement",
+"apis": false,
+"apiTests": false,
+"apiDocs": false,
+"modelDocs": false,
+"modelTests": false
+},
+"additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\rcde",
+ "packageName": "hubsante_model.rcde",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/manual/RS-ERROR/RS-ERROR.generator-config.json b/generator_php-symfony/config/manual/RS-ERROR/RS-ERROR.generator-config.json
new file mode 100644
index 0000000000..3f1111cf6d
--- /dev/null
+++ b/generator_php-symfony/config/manual/RS-ERROR/RS-ERROR.generator-config.json
@@ -0,0 +1,31 @@
+{
+ "inputSpec": "../generator/input/RS-ERROR.openapi.yaml",
+ "outputDir": "package/",
+ "generatorName": "php-symfony",
+ "globalProperties": {
+ "models": "",
+ "apis": false,
+ "apiTests": false,
+ "apiDocs": false,
+ "modelDocs": false,
+ "modelTests": false
+ },
+ "additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\report",
+ "packageName": "hubsante_model.report",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/manual/RS-ERROR/RS-ERROR.wrapper.generator-config.json b/generator_php-symfony/config/manual/RS-ERROR/RS-ERROR.wrapper.generator-config.json
new file mode 100644
index 0000000000..206a72e268
--- /dev/null
+++ b/generator_php-symfony/config/manual/RS-ERROR/RS-ERROR.wrapper.generator-config.json
@@ -0,0 +1,32 @@
+{
+"inputSpec": "../generator/input/RS-ERROR.openapi.yaml",
+"outputDir": "package/",
+"generatorName": "php-symfony",
+"templateDir": "./config/templates/errorWrapper",
+"globalProperties": {
+"models": "errorWrapper",
+"apis": false,
+"apiTests": false,
+"apiDocs": false,
+"modelDocs": false,
+"modelTests": false
+},
+"additionalProperties": {
+ "invokerPackage": "Hubsante",
+ "modelPackage": "Model\\report",
+ "packageName": "hubsante_model.report",
+ "srcBasePath": "src/",
+ "composerVendorName": "hubsante",
+ "composerProjectName": "model-sdk",
+ "variableNamingConvention": "camelCase",
+ "useStrictTypes": true,
+ "useEnumCaseInsensitive": false,
+ "phpVersion": "8.3",
+ "legacyDiscriminatorBehavior": false,
+ "generateModelTests": false,
+ "generateModelDocumentation": false,
+ "withInterfaces": true,
+ "withAbstractClasses": false,
+ "allowUnicodeIdentifiers": true
+ }
+}
diff --git a/generator_php-symfony/config/templates/distributionElement/model_generic.mustache b/generator_php-symfony/config/templates/distributionElement/model_generic.mustache
new file mode 100644
index 0000000000..f92dcb8207
--- /dev/null
+++ b/generator_php-symfony/config/templates/distributionElement/model_generic.mustache
@@ -0,0 +1,120 @@
+class {{classname}} extends ContentMessage
+{
+ {{#vars}}{{>model_variables}}
+ {{/vars}}
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ {{#parentSchema}}
+ parent::__construct($data);
+
+ {{/parentSchema}}
+ if (is_array($data)) {
+ {{#vars}}
+ $this->{{name}} = array_key_exists('{{name}}', $data) ? $data['{{name}}'] : $this->{{name}};
+ {{/vars}}
+ }
+ }
+ {{#vars}}
+
+ /**
+ * Gets {{name}}.
+ *
+ * @return {{{vendorExtensions.x-comment-type}}}
+ */
+ public function {{getter}}(){{#vendorExtensions.x-parameter-type}}: {{vendorExtensions.x-parameter-type}}{{/vendorExtensions.x-parameter-type}}
+ {
+ return $this->{{name}};
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param {{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}): self
+ {
+ $this->{{name}} = ${{name}};
+
+ return $this;
+ }
+
+ {{#isEnumRef}}
+ /**
+ * Gets {{name}} for serialization.
+ *
+ * @return string|null
+ */
+ public function getSerialized{{nameInPascalCase}}(): string|null
+ {
+ return !is_null($this->{{name}}?->value) ? (string) $this->{{name}}->value : null;
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param string|{{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function setDeserialized{{nameInPascalCase}}(string|{{#vendorExtensions.x-comment-type}}{{vendorExtensions.x-comment-type}} {{/vendorExtensions.x-comment-type}}${{name}}{{^required}} = null{{/required}}): self
+ {
+ if (is_string(${{name}})) {
+ ${{name}} = {{baseType}}::tryFrom(${{name}});
+ }
+
+ $this->{{name}} = ${{name}};
+
+ return $this;
+ }
+ {{/isEnumRef}}
+
+ {{#isContainer}}
+ {{#items}}
+ {{#isEnumRef}}
+ /**
+ * Gets {{name}} for serialization.
+ *
+ * @return array
+ */
+ public function getSerialized{{nameInPascalCase}}(): array
+ {
+ return array_map(
+ static fn ($value) => $value?->value ? (string) $value->value : null,
+ $this->{{name}} ?? []
+ );
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param {{^required}}?{{/required}}array ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function setDeserialized{{nameInPascalCase}}({{^required}}?{{/required}}array ${{name}}{{^required}} = []{{/required}}): self
+ {
+ $this->{{name}} = array_map(
+ static function ($value) {
+ if (is_string($value)) {
+ $value = {{baseType}}::tryFrom($value);
+ }
+
+ return $value;
+ },
+ ${{name}} ?? []
+ );
+
+ return $this;
+ }
+ {{/isEnumRef}}
+ {{/items}}
+ {{/isContainer}}
+
+ {{/vars}}
+}
diff --git a/generator_php-symfony/config/templates/errorWrapper/model_generic.mustache b/generator_php-symfony/config/templates/errorWrapper/model_generic.mustache
new file mode 100644
index 0000000000..f92dcb8207
--- /dev/null
+++ b/generator_php-symfony/config/templates/errorWrapper/model_generic.mustache
@@ -0,0 +1,120 @@
+class {{classname}} extends ContentMessage
+{
+ {{#vars}}{{>model_variables}}
+ {{/vars}}
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ {{#parentSchema}}
+ parent::__construct($data);
+
+ {{/parentSchema}}
+ if (is_array($data)) {
+ {{#vars}}
+ $this->{{name}} = array_key_exists('{{name}}', $data) ? $data['{{name}}'] : $this->{{name}};
+ {{/vars}}
+ }
+ }
+ {{#vars}}
+
+ /**
+ * Gets {{name}}.
+ *
+ * @return {{{vendorExtensions.x-comment-type}}}
+ */
+ public function {{getter}}(){{#vendorExtensions.x-parameter-type}}: {{vendorExtensions.x-parameter-type}}{{/vendorExtensions.x-parameter-type}}
+ {
+ return $this->{{name}};
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param {{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}): self
+ {
+ $this->{{name}} = ${{name}};
+
+ return $this;
+ }
+
+ {{#isEnumRef}}
+ /**
+ * Gets {{name}} for serialization.
+ *
+ * @return string|null
+ */
+ public function getSerialized{{nameInPascalCase}}(): string|null
+ {
+ return !is_null($this->{{name}}?->value) ? (string) $this->{{name}}->value : null;
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param string|{{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function setDeserialized{{nameInPascalCase}}(string|{{#vendorExtensions.x-comment-type}}{{vendorExtensions.x-comment-type}} {{/vendorExtensions.x-comment-type}}${{name}}{{^required}} = null{{/required}}): self
+ {
+ if (is_string(${{name}})) {
+ ${{name}} = {{baseType}}::tryFrom(${{name}});
+ }
+
+ $this->{{name}} = ${{name}};
+
+ return $this;
+ }
+ {{/isEnumRef}}
+
+ {{#isContainer}}
+ {{#items}}
+ {{#isEnumRef}}
+ /**
+ * Gets {{name}} for serialization.
+ *
+ * @return array
+ */
+ public function getSerialized{{nameInPascalCase}}(): array
+ {
+ return array_map(
+ static fn ($value) => $value?->value ? (string) $value->value : null,
+ $this->{{name}} ?? []
+ );
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param {{^required}}?{{/required}}array ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function setDeserialized{{nameInPascalCase}}({{^required}}?{{/required}}array ${{name}}{{^required}} = []{{/required}}): self
+ {
+ $this->{{name}} = array_map(
+ static function ($value) {
+ if (is_string($value)) {
+ $value = {{baseType}}::tryFrom($value);
+ }
+
+ return $value;
+ },
+ ${{name}} ?? []
+ );
+
+ return $this;
+ }
+ {{/isEnumRef}}
+ {{/items}}
+ {{/isContainer}}
+
+ {{/vars}}
+}
diff --git a/generator_php-symfony/config/templates/wrapper/model_generic.mustache b/generator_php-symfony/config/templates/wrapper/model_generic.mustache
new file mode 100644
index 0000000000..2748387e81
--- /dev/null
+++ b/generator_php-symfony/config/templates/wrapper/model_generic.mustache
@@ -0,0 +1,120 @@
+class {{classname}} extends DistributionElement
+{
+ {{#vars}}{{>model_variables}}
+ {{/vars}}
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ {{#parentSchema}}
+ parent::__construct($data);
+
+ {{/parentSchema}}
+ if (is_array($data)) {
+ {{#vars}}
+ $this->{{name}} = array_key_exists('{{name}}', $data) ? $data['{{name}}'] : $this->{{name}};
+ {{/vars}}
+ }
+ }
+ {{#vars}}
+
+ /**
+ * Gets {{name}}.
+ *
+ * @return {{{vendorExtensions.x-comment-type}}}
+ */
+ public function {{getter}}(){{#vendorExtensions.x-parameter-type}}: {{vendorExtensions.x-parameter-type}}{{/vendorExtensions.x-parameter-type}}
+ {
+ return $this->{{name}};
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param {{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}): self
+ {
+ $this->{{name}} = ${{name}};
+
+ return $this;
+ }
+
+ {{#isEnumRef}}
+ /**
+ * Gets {{name}} for serialization.
+ *
+ * @return string|null
+ */
+ public function getSerialized{{nameInPascalCase}}(): string|null
+ {
+ return !is_null($this->{{name}}?->value) ? (string) $this->{{name}}->value : null;
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param string|{{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function setDeserialized{{nameInPascalCase}}(string|{{#vendorExtensions.x-comment-type}}{{vendorExtensions.x-comment-type}} {{/vendorExtensions.x-comment-type}}${{name}}{{^required}} = null{{/required}}): self
+ {
+ if (is_string(${{name}})) {
+ ${{name}} = {{baseType}}::tryFrom(${{name}});
+ }
+
+ $this->{{name}} = ${{name}};
+
+ return $this;
+ }
+ {{/isEnumRef}}
+
+ {{#isContainer}}
+ {{#items}}
+ {{#isEnumRef}}
+ /**
+ * Gets {{name}} for serialization.
+ *
+ * @return array
+ */
+ public function getSerialized{{nameInPascalCase}}(): array
+ {
+ return array_map(
+ static fn ($value) => $value?->value ? (string) $value->value : null,
+ $this->{{name}} ?? []
+ );
+ }
+
+ /**
+ * Sets {{name}}.
+ *
+ * @param {{^required}}?{{/required}}array ${{name}}{{#description}} {{{.}}}{{/description}}
+ *
+ * @return $this
+ */
+ public function setDeserialized{{nameInPascalCase}}({{^required}}?{{/required}}array ${{name}}{{^required}} = []{{/required}}): self
+ {
+ $this->{{name}} = array_map(
+ static function ($value) {
+ if (is_string($value)) {
+ $value = {{baseType}}::tryFrom($value);
+ }
+
+ return $value;
+ },
+ ${{name}} ?? []
+ );
+
+ return $this;
+ }
+ {{/isEnumRef}}
+ {{/items}}
+ {{/isContainer}}
+
+ {{/vars}}
+}
diff --git a/generator_php-symfony/openapitools.json b/generator_php-symfony/openapitools.json
new file mode 100644
index 0000000000..f052220d14
--- /dev/null
+++ b/generator_php-symfony/openapitools.json
@@ -0,0 +1,7 @@
+{
+ "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
+ "spaces": 2,
+ "generator-cli": {
+ "version": "7.17.0"
+ }
+}
diff --git a/generator_php-symfony/package/composer.json b/generator_php-symfony/package/composer.json
new file mode 100644
index 0000000000..2ed1cc88a9
--- /dev/null
+++ b/generator_php-symfony/package/composer.json
@@ -0,0 +1,14 @@
+{
+ "name": "Hubsante/Model",
+ "description": "HubSante Model",
+ "type": "library",
+ "license": "MIT",
+ "autoload": {
+ "psr-4": {
+ "HubSante\\Model\\": "src/"
+ }
+ },
+ "require": {
+ "php": ">=8.1"
+ }
+}
diff --git a/generator_php-symfony/package/src/Model/cisu/Access.php b/generator_php-symfony/package/src/Model/cisu/Access.php
new file mode 100644
index 0000000000..2e50bf8f84
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Access.php
@@ -0,0 +1,400 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $accessCode = null;
+
+ /**
+ * A valoriser avec le nom ou le numéro de l'ascenseur ou de la cage d'escalier
+ *
+ * @var string|null
+ * @SerializedName("elevator")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $elevator = null;
+
+ /**
+ * A valoriser avec le nom du bĂątiment
+ *
+ * @var string|null
+ * @SerializedName("buildingName")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $buildingName = null;
+
+ /**
+ * A valoriser avec le nom de l'entrée
+ *
+ * @var string|null
+ * @SerializedName("entrance")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $entrance = null;
+
+ /**
+ * A valoriser avec le nom du service concerné au sein de l'établissement : infirmerie, service finance, service comptabilité.
+ *
+ * @var string|null
+ * @SerializedName("entity")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $entity = null;
+
+ /**
+ * A valoriser avec le numéro de téléphone du lieu de l'intervention, par exemple : téléphone du secrétariat, téléphone du service administratif ou se trouve le patient/ la victime. Le format attendu est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @var string|null
+ * @SerializedName("phoneNumber")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^\\+\\d{5,18}$/")]
+ protected ?string $phoneNumber = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->floor = array_key_exists('floor', $data) ? $data['floor'] : $this->floor;
+ $this->roomNumber = array_key_exists('roomNumber', $data) ? $data['roomNumber'] : $this->roomNumber;
+ $this->interphone = array_key_exists('interphone', $data) ? $data['interphone'] : $this->interphone;
+ $this->accessCode = array_key_exists('accessCode', $data) ? $data['accessCode'] : $this->accessCode;
+ $this->elevator = array_key_exists('elevator', $data) ? $data['elevator'] : $this->elevator;
+ $this->buildingName = array_key_exists('buildingName', $data) ? $data['buildingName'] : $this->buildingName;
+ $this->entrance = array_key_exists('entrance', $data) ? $data['entrance'] : $this->entrance;
+ $this->entity = array_key_exists('entity', $data) ? $data['entity'] : $this->entity;
+ $this->phoneNumber = array_key_exists('phoneNumber', $data) ? $data['phoneNumber'] : $this->phoneNumber;
+ }
+ }
+
+ /**
+ * Gets floor.
+ *
+ * @return string|null
+ */
+ public function getFloor(): ?string
+ {
+ return $this->floor;
+ }
+
+ /**
+ * Sets floor.
+ *
+ * @param string|null $floor A valoriser avec le numéro ou nom de l'étage
+ *
+ * @return $this
+ */
+ public function setFloor(?string $floor = null): self
+ {
+ $this->floor = $floor;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets roomNumber.
+ *
+ * @return string|null
+ */
+ public function getRoomNumber(): ?string
+ {
+ return $this->roomNumber;
+ }
+
+ /**
+ * Sets roomNumber.
+ *
+ * @param string|null $roomNumber A valoriser avec le numéro d'appartement, de chambre, de bureau
+ *
+ * @return $this
+ */
+ public function setRoomNumber(?string $roomNumber = null): self
+ {
+ $this->roomNumber = $roomNumber;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets interphone.
+ *
+ * @return string|null
+ */
+ public function getInterphone(): ?string
+ {
+ return $this->interphone;
+ }
+
+ /**
+ * Sets interphone.
+ *
+ * @param string|null $interphone A valoriser avec les informations nécessaires à l'identification de l'interphone (numéro, nom)
+ *
+ * @return $this
+ */
+ public function setInterphone(?string $interphone = null): self
+ {
+ $this->interphone = $interphone;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets accessCode.
+ *
+ * @return string[]|null
+ */
+ public function getAccessCode(): ?array
+ {
+ return $this->accessCode;
+ }
+
+ /**
+ * Sets accessCode.
+ *
+ * @param string[]|null $accessCode
+ *
+ * @return $this
+ */
+ public function setAccessCode(?array $accessCode = null): self
+ {
+ $this->accessCode = $accessCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets elevator.
+ *
+ * @return string|null
+ */
+ public function getElevator(): ?string
+ {
+ return $this->elevator;
+ }
+
+ /**
+ * Sets elevator.
+ *
+ * @param string|null $elevator A valoriser avec le nom ou le numéro de l'ascenseur ou de la cage d'escalier
+ *
+ * @return $this
+ */
+ public function setElevator(?string $elevator = null): self
+ {
+ $this->elevator = $elevator;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets buildingName.
+ *
+ * @return string|null
+ */
+ public function getBuildingName(): ?string
+ {
+ return $this->buildingName;
+ }
+
+ /**
+ * Sets buildingName.
+ *
+ * @param string|null $buildingName A valoriser avec le nom du bĂątiment
+ *
+ * @return $this
+ */
+ public function setBuildingName(?string $buildingName = null): self
+ {
+ $this->buildingName = $buildingName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets entrance.
+ *
+ * @return string|null
+ */
+ public function getEntrance(): ?string
+ {
+ return $this->entrance;
+ }
+
+ /**
+ * Sets entrance.
+ *
+ * @param string|null $entrance A valoriser avec le nom de l'entrée
+ *
+ * @return $this
+ */
+ public function setEntrance(?string $entrance = null): self
+ {
+ $this->entrance = $entrance;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets entity.
+ *
+ * @return string|null
+ */
+ public function getEntity(): ?string
+ {
+ return $this->entity;
+ }
+
+ /**
+ * Sets entity.
+ *
+ * @param string|null $entity A valoriser avec le nom du service concerné au sein de l'établissement : infirmerie, service finance, service comptabilité.
+ *
+ * @return $this
+ */
+ public function setEntity(?string $entity = null): self
+ {
+ $this->entity = $entity;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets phoneNumber.
+ *
+ * @return string|null
+ */
+ public function getPhoneNumber(): ?string
+ {
+ return $this->phoneNumber;
+ }
+
+ /**
+ * Sets phoneNumber.
+ *
+ * @param string|null $phoneNumber A valoriser avec le numéro de téléphone du lieu de l'intervention, par exemple : téléphone du secrétariat, téléphone du service administratif ou se trouve le patient/ la victime. Le format attendu est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @return $this
+ */
+ public function setPhoneNumber(?string $phoneNumber = null): self
+ {
+ $this->phoneNumber = $phoneNumber;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/AdditionalInformation.php b/generator_php-symfony/package/src/Model/cisu/AdditionalInformation.php
new file mode 100644
index 0000000000..7a45419d2a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/AdditionalInformation.php
@@ -0,0 +1,96 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu\CustomMap"),
+ ])]
+ #[Assert\Count(max: 3)]
+ protected ?array $customMap = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->customMap = array_key_exists('customMap', $data) ? $data['customMap'] : $this->customMap;
+ }
+ }
+
+ /**
+ * Gets customMap.
+ *
+ * @return CustomMap[]|null
+ */
+ public function getCustomMap(): ?array
+ {
+ return $this->customMap;
+ }
+
+ /**
+ * Sets customMap.
+ *
+ * @param CustomMap[]|null $customMap
+ *
+ * @return $this
+ */
+ public function setCustomMap(?array $customMap = null): self
+ {
+ $this->customMap = $customMap;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Alert.php b/generator_php-symfony/package/src/Model/cisu/Alert.php
new file mode 100644
index 0000000000..c01d79e532
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Alert.php
@@ -0,0 +1,404 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu\Notes"),
+ ])]
+ protected ?array $notes = null;
+
+ /**
+ * @var Caller|null
+ * @SerializedName("caller")
+ * @Type("Hubsante\Model\cisu\Caller")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\Type("Hubsante\Model\cisu\Caller")]
+ protected ?Caller $caller = null;
+
+ /**
+ * @var Location|null
+ * @SerializedName("location")
+ * @Type("Hubsante\Model\cisu\Location")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\Type("Hubsante\Model\cisu\Location")]
+ protected ?Location $location = null;
+
+ /**
+ * @var Qualification|null
+ * @SerializedName("qualification")
+ * @Type("Hubsante\Model\cisu\Qualification")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\Type("Hubsante\Model\cisu\Qualification")]
+ protected ?Qualification $qualification = null;
+
+ /**
+ * @var CallTaker|null
+ * @SerializedName("callTaker")
+ * @Type("Hubsante\Model\cisu\CallTaker")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\Type("Hubsante\Model\cisu\CallTaker")]
+ protected ?CallTaker $callTaker = null;
+
+ /**
+ * @var Attachment[]|null
+ * @SerializedName("attachment")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu\Attachment"),
+ ])]
+ protected ?array $attachment = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->id = array_key_exists('id', $data) ? $data['id'] : $this->id;
+ $this->reception = array_key_exists('reception', $data) ? $data['reception'] : $this->reception;
+ $this->reporting = array_key_exists('reporting', $data) ? $data['reporting'] : $this->reporting;
+ $this->notes = array_key_exists('notes', $data) ? $data['notes'] : $this->notes;
+ $this->caller = array_key_exists('caller', $data) ? $data['caller'] : $this->caller;
+ $this->location = array_key_exists('location', $data) ? $data['location'] : $this->location;
+ $this->qualification = array_key_exists('qualification', $data) ? $data['qualification'] : $this->qualification;
+ $this->callTaker = array_key_exists('callTaker', $data) ? $data['callTaker'] : $this->callTaker;
+ $this->attachment = array_key_exists('attachment', $data) ? $data['attachment'] : $this->attachment;
+ }
+ }
+
+ /**
+ * Gets id.
+ *
+ * @return string|null
+ */
+ public function getId(): ?string
+ {
+ return $this->id;
+ }
+
+ /**
+ * Sets id.
+ *
+ * @param string|null $id Identifiant technique unique de l'alerte. Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© automatiquement par le systĂšme Ă©metteur et ne doit pas avoir de signification / utilisation particuliĂšre par les diffĂ©rents systĂšmes pour garantir leur dĂ©couplage. Voir la description de l'identifiant de l'affaire pour voir le format. Lorsquâune alerte est gĂ©nĂ©rĂ©e dans NexSIS et crĂ©e une affaire, elle est qualifiĂ©e dâAlerte Initiale. a) Si cette derniĂšre concerne un partenaire (caractĂšre mĂ©dical pour la SantĂ© par exemple), elle est relayĂ©e seule dans le message. Il yâa un seul objet initialAlert. b) Sinon, une autre alerte liĂ©e Ă la mĂȘme affaire peut ĂȘtre dĂ©clarĂ©e ultĂ©rieurement, concernant cette fois le partenaire. Lorsquâelle est dĂ©clarĂ©e cette Nouvelle Alerte est relayĂ©e avec lâAlerte Initiale pour partager un contexte commun. Dans le message de crĂ©ation dâaffaire il yâa deux objets alerte : initialAlert et newAlert. Le rattachement des messages Ă une affaire doivent s'appuyer sur les caseId et non les alertId qui peuvent varier d'un systĂšme Ă l'autre.
+ *
+ * @return $this
+ */
+ public function setId(?string $id): self
+ {
+ $this->id = $id;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets reception.
+ *
+ * @return \DateTime|null
+ */
+ public function getReception(): ?\DateTime
+ {
+ return $this->reception;
+ }
+
+ /**
+ * Sets reception.
+ *
+ * @param \DateTime|null $reception A valoriser avec le groupe date heure de réception de l'alerte/appel
+ *
+ * @return $this
+ */
+ public function setReception(?\DateTime $reception): self
+ {
+ $this->reception = $reception;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets reporting.
+ *
+ * @return string|null
+ */
+ public function getReporting(): ?string
+ {
+ return $this->reporting;
+ }
+
+ /**
+ * Sets reporting.
+ *
+ * @param string|null $reporting Permet d'attirer l'attention des forces partenaires sur une affaire pour le faire sortir du lot. Eventuellement automatisé en fonction des critÚres saisis et de leur paramétrage, ou renseigné par l'opérateur. Prend les valeurs définies dans la nomenclature CISU : - standard : STANDARD - signalé : ATTENTION Les systÚmes peuvent proposer des fonctionnalités faisant ressortir les dossiers avec le libellé ATTENTION
+ *
+ * @return $this
+ */
+ public function setReporting(?string $reporting): self
+ {
+ $this->reporting = $reporting;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets notes.
+ *
+ * @return Notes[]|null
+ */
+ public function getNotes(): ?array
+ {
+ return $this->notes;
+ }
+
+ /**
+ * Sets notes.
+ *
+ * @param Notes[]|null $notes
+ *
+ * @return $this
+ */
+ public function setNotes(?array $notes = null): self
+ {
+ $this->notes = $notes;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets caller.
+ *
+ * @return Caller|null
+ */
+ public function getCaller(): ?Caller
+ {
+ return $this->caller;
+ }
+
+ /**
+ * Sets caller.
+ *
+ * @param Caller|null $caller
+ *
+ * @return $this
+ */
+ public function setCaller(?Caller $caller): self
+ {
+ $this->caller = $caller;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets location.
+ *
+ * @return Location|null
+ */
+ public function getLocation(): ?Location
+ {
+ return $this->location;
+ }
+
+ /**
+ * Sets location.
+ *
+ * @param Location|null $location
+ *
+ * @return $this
+ */
+ public function setLocation(?Location $location): self
+ {
+ $this->location = $location;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets qualification.
+ *
+ * @return Qualification|null
+ */
+ public function getQualification(): ?Qualification
+ {
+ return $this->qualification;
+ }
+
+ /**
+ * Sets qualification.
+ *
+ * @param Qualification|null $qualification
+ *
+ * @return $this
+ */
+ public function setQualification(?Qualification $qualification): self
+ {
+ $this->qualification = $qualification;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets callTaker.
+ *
+ * @return CallTaker|null
+ */
+ public function getCallTaker(): ?CallTaker
+ {
+ return $this->callTaker;
+ }
+
+ /**
+ * Sets callTaker.
+ *
+ * @param CallTaker|null $callTaker
+ *
+ * @return $this
+ */
+ public function setCallTaker(?CallTaker $callTaker): self
+ {
+ $this->callTaker = $callTaker;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets attachment.
+ *
+ * @return Attachment[]|null
+ */
+ public function getAttachment(): ?array
+ {
+ return $this->attachment;
+ }
+
+ /**
+ * Sets attachment.
+ *
+ * @param Attachment[]|null $attachment
+ *
+ * @return $this
+ */
+ public function setAttachment(?array $attachment = null): self
+ {
+ $this->attachment = $attachment;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Attachment.php b/generator_php-symfony/package/src/Model/cisu/Attachment.php
new file mode 100644
index 0000000000..f096ca92eb
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Attachment.php
@@ -0,0 +1,286 @@
+description = array_key_exists('description', $data) ? $data['description'] : $this->description;
+ $this->mimeType = array_key_exists('mimeType', $data) ? $data['mimeType'] : $this->mimeType;
+ $this->size = array_key_exists('size', $data) ? $data['size'] : $this->size;
+ $this->uRI = array_key_exists('uRI', $data) ? $data['uRI'] : $this->uRI;
+ $this->derefURI = array_key_exists('derefURI', $data) ? $data['derefURI'] : $this->derefURI;
+ $this->digest = array_key_exists('digest', $data) ? $data['digest'] : $this->digest;
+ }
+ }
+
+ /**
+ * Gets description.
+ *
+ * @return string|null
+ */
+ public function getDescription(): ?string
+ {
+ return $this->description;
+ }
+
+ /**
+ * Sets description.
+ *
+ * @param string|null $description Décrit la ressource en précisant le type et le contenu, tels que «carte» ou «photo»
+ *
+ * @return $this
+ */
+ public function setDescription(?string $description = null): self
+ {
+ $this->description = $description;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mimeType.
+ *
+ * @return string|null
+ */
+ public function getMimeType(): ?string
+ {
+ return $this->mimeType;
+ }
+
+ /**
+ * Sets mimeType.
+ *
+ * @param string|null $mimeType L'identifiant du type MIME de contenu et sous-type décrivant la ressource
+ *
+ * @return $this
+ */
+ public function setMimeType(?string $mimeType = null): self
+ {
+ $this->mimeType = $mimeType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets size.
+ *
+ * @return int|null
+ */
+ public function getSize(): ?int
+ {
+ return $this->size;
+ }
+
+ /**
+ * Sets size.
+ *
+ * @param int|null $size Taille approximative de la ressource en kO
+ *
+ * @return $this
+ */
+ public function setSize(?int $size = null): self
+ {
+ $this->size = $size;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uRI.
+ *
+ * @return string|null
+ */
+ public function getURI(): ?string
+ {
+ return $this->uRI;
+ }
+
+ /**
+ * Sets uRI.
+ *
+ * @param string|null $uRI Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*)(/[a-zA-Z0-9_\\-\\.]*)*_/?(\\?[^\\s]*)?
+ *
+ * @return $this
+ */
+ public function setURI(?string $uRI): self
+ {
+ $this->uRI = $uRI;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets derefURI.
+ *
+ * @return string|null
+ */
+ public function getDerefURI(): ?string
+ {
+ return $this->derefURI;
+ }
+
+ /**
+ * Sets derefURI.
+ *
+ * @param string|null $derefURI Peut ĂȘtre utilisĂ© Ă la place de l'Ă©lĂ©ment 'URI' pour envoyer la ressource encodĂ©e en base64 pour Ă©viter des problĂšmes de transcodage (sur des double quotes qui casseraient le message, âŠ)
+ *
+ * @return $this
+ */
+ public function setDerefURI(?string $derefURI = null): self
+ {
+ $this->derefURI = $derefURI;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets digest.
+ *
+ * @return string|null
+ */
+ public function getDigest(): ?string
+ {
+ return $this->digest;
+ }
+
+ /**
+ * Sets digest.
+ *
+ * @param string|null $digest Hash de la ressource pour confirmer la réception de la bonne ressource La ressource est hashée avec le protocole SHA-256
+ *
+ * @return $this
+ */
+ public function setDigest(?string $digest = null): self
+ {
+ $this->digest = $digest;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/CallTaker.php b/generator_php-symfony/package/src/Model/cisu/CallTaker.php
new file mode 100644
index 0000000000..e890df722c
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/CallTaker.php
@@ -0,0 +1,247 @@
+organization = array_key_exists('organization', $data) ? $data['organization'] : $this->organization;
+ $this->controlRoom = array_key_exists('controlRoom', $data) ? $data['controlRoom'] : $this->controlRoom;
+ $this->role = array_key_exists('role', $data) ? $data['role'] : $this->role;
+ $this->calltakerContact = array_key_exists('calltakerContact', $data) ? $data['calltakerContact'] : $this->calltakerContact;
+ $this->calltakerId = array_key_exists('calltakerId', $data) ? $data['calltakerId'] : $this->calltakerId;
+ }
+ }
+
+ /**
+ * Gets organization.
+ *
+ * @return string|null
+ */
+ public function getOrganization(): ?string
+ {
+ return $this->organization;
+ }
+
+ /**
+ * Sets organization.
+ *
+ * @param string|null $organization Décrit la structure ou le service à laquelle est rattachée l'agent (en fonction du niveau de précision disponible). Se référer au DSF pour la structure normée des organisations. Le format est le suivant {pays}.{domaine}.{organisation}.{structure interne}*.{unité fonctionnelle}*.
+ *
+ * @return $this
+ */
+ public function setOrganization(?string $organization): self
+ {
+ $this->organization = $organization;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets controlRoom.
+ *
+ * @return string|null
+ */
+ public function getControlRoom(): ?string
+ {
+ return $this->controlRoom;
+ }
+
+ /**
+ * Sets controlRoom.
+ *
+ * @param string|null $controlRoom Décrit le centre d'appel auquel est rattaché l'agent
+ *
+ * @return $this
+ */
+ public function setControlRoom(?string $controlRoom): self
+ {
+ $this->controlRoom = $controlRoom;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets role.
+ *
+ * @return string|null
+ */
+ public function getRole(): ?string
+ {
+ return $this->role;
+ }
+
+ /**
+ * Sets role.
+ *
+ * @param string|null $role Décrit le rÎle de l'agent au sein du service selon la nomenclature PERSO (nomenclature SI-SAMU)
+ *
+ * @return $this
+ */
+ public function setRole(?string $role = null): self
+ {
+ $this->role = $role;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets calltakerContact.
+ *
+ * @return Contact|null
+ */
+ public function getCalltakerContact(): ?Contact
+ {
+ return $this->calltakerContact;
+ }
+
+ /**
+ * Sets calltakerContact.
+ *
+ * @param Contact|null $calltakerContact
+ *
+ * @return $this
+ */
+ public function setCalltakerContact(?Contact $calltakerContact = null): self
+ {
+ $this->calltakerContact = $calltakerContact;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets calltakerId.
+ *
+ * @return string|null
+ */
+ public function getCalltakerId(): ?string
+ {
+ return $this->calltakerId;
+ }
+
+ /**
+ * Sets calltakerId.
+ *
+ * @param string|null $calltakerId Identifiant unique de l'opĂ©rateur ayant traitĂ© l'alerte (peut ĂȘtre un identifiant technique, un numĂ©ro de carte CPS etc)
+ *
+ * @return $this
+ */
+ public function setCalltakerId(?string $calltakerId = null): self
+ {
+ $this->calltakerId = $calltakerId;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Caller.php b/generator_php-symfony/package/src/Model/cisu/Caller.php
new file mode 100644
index 0000000000..4b9bb8b4dc
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Caller.php
@@ -0,0 +1,322 @@
+callerContact = array_key_exists('callerContact', $data) ? $data['callerContact'] : $this->callerContact;
+ $this->callbackContact = array_key_exists('callbackContact', $data) ? $data['callbackContact'] : $this->callbackContact;
+ $this->language = array_key_exists('language', $data) ? $data['language'] : $this->language;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->communication = array_key_exists('communication', $data) ? $data['communication'] : $this->communication;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ $this->detailedName = array_key_exists('detailedName', $data) ? $data['detailedName'] : $this->detailedName;
+ }
+ }
+
+ /**
+ * Gets callerContact.
+ *
+ * @return Contact|null
+ */
+ public function getCallerContact(): ?Contact
+ {
+ return $this->callerContact;
+ }
+
+ /**
+ * Sets callerContact.
+ *
+ * @param Contact|null $callerContact
+ *
+ * @return $this
+ */
+ public function setCallerContact(?Contact $callerContact): self
+ {
+ $this->callerContact = $callerContact;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets callbackContact.
+ *
+ * @return Contact|null
+ */
+ public function getCallbackContact(): ?Contact
+ {
+ return $this->callbackContact;
+ }
+
+ /**
+ * Sets callbackContact.
+ *
+ * @param Contact|null $callbackContact
+ *
+ * @return $this
+ */
+ public function setCallbackContact(?Contact $callbackContact = null): self
+ {
+ $this->callbackContact = $callbackContact;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets language.
+ *
+ * @return string|null
+ */
+ public function getLanguage(): ?string
+ {
+ return $this->language;
+ }
+
+ /**
+ * Sets language.
+ *
+ * @param string|null $language A valoriser avec la langue parlée par le requérant. cf.nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setLanguage(?string $language = null): self
+ {
+ $this->language = $language;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec la relation du requérant avec l'incident / le patient / la victime. cf. nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets communication.
+ *
+ * @return string|null
+ */
+ public function getCommunication(): ?string
+ {
+ return $this->communication;
+ }
+
+ /**
+ * Sets communication.
+ *
+ * @param string|null $communication A valoriser avec la nature des éventuelles difficultés de communication rencontrées par le requérant. cf.nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setCommunication(?string $communication = null): self
+ {
+ $this->communication = $communication;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Champ libre qui permet de compléter les informations spécifiquement liées au requérant.
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detailedName.
+ *
+ * @return DetailedName|null
+ */
+ public function getDetailedName(): ?DetailedName
+ {
+ return $this->detailedName;
+ }
+
+ /**
+ * Sets detailedName.
+ *
+ * @param DetailedName|null $detailedName
+ *
+ * @return $this
+ */
+ public function setDetailedName(?DetailedName $detailedName = null): self
+ {
+ $this->detailedName = $detailedName;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/City.php b/generator_php-symfony/package/src/Model/cisu/City.php
new file mode 100644
index 0000000000..c60580f6e4
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/City.php
@@ -0,0 +1,172 @@
+name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->inseeCode = array_key_exists('inseeCode', $data) ? $data['inseeCode'] : $this->inseeCode;
+ $this->detail = array_key_exists('detail', $data) ? $data['detail'] : $this->detail;
+ }
+ }
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom officiel de la commune
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets inseeCode.
+ *
+ * @return string|null
+ */
+ public function getInseeCode(): ?string
+ {
+ return $this->inseeCode;
+ }
+
+ /**
+ * Sets inseeCode.
+ *
+ * @param string|null $inseeCode A valoriser avec le code INSEE de la commune actuelle sur la base du Code Officiel géographique en vigueur. La valeur du code INSEE est obligatoire dÚs que le nom de la commune est renseigné (city.name).
+ *
+ * @return $this
+ */
+ public function setInseeCode(?string $inseeCode = null): self
+ {
+ $this->inseeCode = $inseeCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detail.
+ *
+ * @return string|null
+ */
+ public function getDetail(): ?string
+ {
+ return $this->detail;
+ }
+
+ /**
+ * Sets detail.
+ *
+ * @param string|null $detail Informations complĂ©mentaires permettant de prĂ©ciser le quartier, lieu-dit, ancienne commune, ⊠ou autre information aidant Ă prĂ©ciser l'adresse et notamment gĂ©rer les cas de communes fusionnĂ©es pour le systĂšme Ă©metteur NB : dans tous les cas, la localisation GPS de la commune doit ĂȘtre fournie afin d'Ă©viter une trop forte ambiguĂŻtĂ©.
+ *
+ * @return $this
+ */
+ public function setDetail(?string $detail = null): self
+ {
+ $this->detail = $detail;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Contact.php b/generator_php-symfony/package/src/Model/cisu/Contact.php
new file mode 100644
index 0000000000..f907fcdb2e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Contact.php
@@ -0,0 +1,176 @@
+channel = array_key_exists('channel', $data) ? $data['channel'] : $this->channel;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->detail = array_key_exists('detail', $data) ? $data['detail'] : $this->detail;
+ }
+ }
+
+ /**
+ * Gets channel.
+ *
+ * @return string|null
+ */
+ public function getChannel(): ?string
+ {
+ return $this->channel;
+ }
+
+ /**
+ * Sets channel.
+ *
+ * @param string|null $channel A valoriser avec l'origine du canal établi : PERSONNE, APPLICATION, DAU, BAU, DEFIBRILLATEUR, ECALL
+ *
+ * @return $this
+ */
+ public function setChannel(?string $channel): self
+ {
+ $this->channel = $channel;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setType(?string $type): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detail.
+ *
+ * @return string|null
+ */
+ public function getDetail(): ?string
+ {
+ return $this->detail;
+ }
+
+ /**
+ * Sets detail.
+ *
+ * @param string|null $detail A valoriser avec la valeur de l'URI utilisée. Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @return $this
+ */
+ public function setDetail(?string $detail): self
+ {
+ $this->detail = $detail;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Coord.php b/generator_php-symfony/package/src/Model/cisu/Coord.php
new file mode 100644
index 0000000000..d9f4ee8a0a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Coord.php
@@ -0,0 +1,289 @@
+lat = array_key_exists('lat', $data) ? $data['lat'] : $this->lat;
+ $this->lon = array_key_exists('lon', $data) ? $data['lon'] : $this->lon;
+ $this->height = array_key_exists('height', $data) ? $data['height'] : $this->height;
+ $this->heading = array_key_exists('heading', $data) ? $data['heading'] : $this->heading;
+ $this->speed = array_key_exists('speed', $data) ? $data['speed'] : $this->speed;
+ $this->precision = array_key_exists('precision', $data) ? $data['precision'] : $this->precision;
+ }
+ }
+
+ /**
+ * Gets lat.
+ *
+ * @return float|null
+ */
+ public function getLat(): ?float
+ {
+ return $this->lat;
+ }
+
+ /**
+ * Sets lat.
+ *
+ * @param float|null $lat A valoriser avec la latitude du point clé de la localisation - dans le systÚme de coordonnées EPSG-4326 (indiquant l'utilisation de WGS-84)
+ *
+ * @return $this
+ */
+ public function setLat(?float $lat): self
+ {
+ $this->lat = $lat;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lon.
+ *
+ * @return float|null
+ */
+ public function getLon(): ?float
+ {
+ return $this->lon;
+ }
+
+ /**
+ * Sets lon.
+ *
+ * @param float|null $lon A valoriser avec la longitude du point clé de la localisation - dans le systÚme de coordonnées EPSG-4326 (indiquant l'utilisation de WGS-84)
+ *
+ * @return $this
+ */
+ public function setLon(?float $lon): self
+ {
+ $this->lon = $lon;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets height.
+ *
+ * @return float|null
+ */
+ public function getHeight(): ?float
+ {
+ return $this->height;
+ }
+
+ /**
+ * Sets height.
+ *
+ * @param float|null $height A valoriser avec l'altitude du point clé de la localisation, en mÚtres. Spécificité 15-18 : ignoré cÎté NexSIS.
+ *
+ * @return $this
+ */
+ public function setHeight(?float $height = null): self
+ {
+ $this->height = $height;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets heading.
+ *
+ * @return float|null
+ */
+ public function getHeading(): ?float
+ {
+ return $this->heading;
+ }
+
+ /**
+ * Sets heading.
+ *
+ * @param float|null $heading A valoriser avec le cap, en degré
+ *
+ * @return $this
+ */
+ public function setHeading(?float $heading = null): self
+ {
+ $this->heading = $heading;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets speed.
+ *
+ * @return float|null
+ */
+ public function getSpeed(): ?float
+ {
+ return $this->speed;
+ }
+
+ /**
+ * Sets speed.
+ *
+ * @param float|null $speed Vitesse en km/h, notamment fournie par eCall, tel, nouveau AML, âŠ
+ *
+ * @return $this
+ */
+ public function setSpeed(?float $speed = null): self
+ {
+ $this->speed = $speed;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets precision.
+ *
+ * @return string|null
+ */
+ public function getPrecision(): ?string
+ {
+ return $this->precision;
+ }
+
+ /**
+ * Sets precision.
+ *
+ * @param string|null $precision Indique via une nomenclature le niveau de précision des coordonnées fournies par le systÚme emetteur. VILLE : Précision à l'échelle de la ville, RUE : Précision à l'échelle de la rue, ADRESSE : Adresse précise, EXACTE : Point coordonnée GPS exact, INCONNUE : Précision de la localisation non évaluable par l'émetteur
+ *
+ * @return $this
+ */
+ public function setPrecision(?string $precision): self
+ {
+ $this->precision = $precision;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/CreateCase.php b/generator_php-symfony/package/src/Model/cisu/CreateCase.php
new file mode 100644
index 0000000000..8571ea4363
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/CreateCase.php
@@ -0,0 +1,438 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu\Alert"),
+ ])]
+ protected ?array $newAlert = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("freetext")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $freetext = null;
+
+ /**
+ * @var AdditionalInformation|null
+ * @SerializedName("additionalInformation")
+ * @Type("Hubsante\Model\cisu\AdditionalInformation")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\AdditionalInformation")]
+ protected ?AdditionalInformation $additionalInformation = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->senderCaseId = array_key_exists('senderCaseId', $data) ? $data['senderCaseId'] : $this->senderCaseId;
+ $this->creation = array_key_exists('creation', $data) ? $data['creation'] : $this->creation;
+ $this->referenceVersion = array_key_exists('referenceVersion', $data) ? $data['referenceVersion'] : $this->referenceVersion;
+ $this->qualification = array_key_exists('qualification', $data) ? $data['qualification'] : $this->qualification;
+ $this->location = array_key_exists('location', $data) ? $data['location'] : $this->location;
+ $this->initialAlert = array_key_exists('initialAlert', $data) ? $data['initialAlert'] : $this->initialAlert;
+ $this->newAlert = array_key_exists('newAlert', $data) ? $data['newAlert'] : $this->newAlert;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ $this->additionalInformation = array_key_exists('additionalInformation', $data) ? $data['additionalInformation'] : $this->additionalInformation;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId Identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets senderCaseId.
+ *
+ * @return string|null
+ */
+ public function getSenderCaseId(): ?string
+ {
+ return $this->senderCaseId;
+ }
+
+ /**
+ * Sets senderCaseId.
+ *
+ * @param string|null $senderCaseId A valoriser avec le numéro du dossier dans le SI de l'émetteur du message.
+ *
+ * @return $this
+ */
+ public function setSenderCaseId(?string $senderCaseId = null): self
+ {
+ $this->senderCaseId = $senderCaseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets creation.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreation(): ?\DateTime
+ {
+ return $this->creation;
+ }
+
+ /**
+ * Sets creation.
+ *
+ * @param \DateTime|null $creation A valoriser avec le groupe date heure de crĂ©ation du dossier/affaire. SpĂ©cificitĂ© 15-18 : A valoriser avec le groupe date heure de dĂ©but de partage liĂ© Ă la crĂ©ation de l'affaire (et donc de gĂ©nĂ©ration du caseId). Lors de l'ajout d'une nouvelle alerte, la valeur de ce champ ne doit pas ĂȘtre modifiĂ©e. L'indicateur de fuseau horaire Z ne doit pas ĂȘtre utilisĂ©. Il doit ĂȘtre renseignĂ© Ă la fin du processus de la crĂ©ation de la premiĂšre alerte.
+ *
+ * @return $this
+ */
+ public function setCreation(?\DateTime $creation): self
+ {
+ $this->creation = $creation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets referenceVersion.
+ *
+ * @return string|null
+ */
+ public function getReferenceVersion(): ?string
+ {
+ return $this->referenceVersion;
+ }
+
+ /**
+ * Sets referenceVersion.
+ *
+ * @param string|null $referenceVersion Indique le numĂ©ro de version du rĂ©fĂ©rentiel des nomenclatures des codes transmis. Cela permet aux diffĂ©rents systĂšmes de s'assurer qu'ils utilisent la mĂȘme version des codes de nomenclature que leurs partenaires.
+ *
+ * @return $this
+ */
+ public function setReferenceVersion(?string $referenceVersion): self
+ {
+ $this->referenceVersion = $referenceVersion;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets qualification.
+ *
+ * @return Qualification|null
+ */
+ public function getQualification(): ?Qualification
+ {
+ return $this->qualification;
+ }
+
+ /**
+ * Sets qualification.
+ *
+ * @param Qualification|null $qualification
+ *
+ * @return $this
+ */
+ public function setQualification(?Qualification $qualification): self
+ {
+ $this->qualification = $qualification;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets location.
+ *
+ * @return Location|null
+ */
+ public function getLocation(): ?Location
+ {
+ return $this->location;
+ }
+
+ /**
+ * Sets location.
+ *
+ * @param Location|null $location
+ *
+ * @return $this
+ */
+ public function setLocation(?Location $location): self
+ {
+ $this->location = $location;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets initialAlert.
+ *
+ * @return Alert|null
+ */
+ public function getInitialAlert(): ?Alert
+ {
+ return $this->initialAlert;
+ }
+
+ /**
+ * Sets initialAlert.
+ *
+ * @param Alert|null $initialAlert
+ *
+ * @return $this
+ */
+ public function setInitialAlert(?Alert $initialAlert = null): self
+ {
+ $this->initialAlert = $initialAlert;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets newAlert.
+ *
+ * @return Alert[]|null
+ */
+ public function getNewAlert(): ?array
+ {
+ return $this->newAlert;
+ }
+
+ /**
+ * Sets newAlert.
+ *
+ * @param Alert[]|null $newAlert
+ *
+ * @return $this
+ */
+ public function setNewAlert(?array $newAlert = null): self
+ {
+ $this->newAlert = $newAlert;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string[]|null
+ */
+ public function getFreetext(): ?array
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string[]|null $freetext
+ *
+ * @return $this
+ */
+ public function setFreetext(?array $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets additionalInformation.
+ *
+ * @return AdditionalInformation|null
+ */
+ public function getAdditionalInformation(): ?AdditionalInformation
+ {
+ return $this->additionalInformation;
+ }
+
+ /**
+ * Sets additionalInformation.
+ *
+ * @param AdditionalInformation|null $additionalInformation
+ *
+ * @return $this
+ */
+ public function setAdditionalInformation(?AdditionalInformation $additionalInformation = null): self
+ {
+ $this->additionalInformation = $additionalInformation;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/CreateCaseWrapper.php b/generator_php-symfony/package/src/Model/cisu/CreateCaseWrapper.php
new file mode 100644
index 0000000000..6d73ecda79
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/CreateCaseWrapper.php
@@ -0,0 +1,95 @@
+createCase = array_key_exists('createCase', $data) ? $data['createCase'] : $this->createCase;
+ }
+ }
+
+ /**
+ * Gets createCase.
+ *
+ * @return CreateCase|null
+ */
+ public function getCreateCase(): ?CreateCase
+ {
+ return $this->createCase;
+ }
+
+ /**
+ * Sets createCase.
+ *
+ * @param CreateCase|null $createCase
+ *
+ * @return $this
+ */
+ public function setCreateCase(?CreateCase $createCase): self
+ {
+ $this->createCase = $createCase;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/CustomMap.php b/generator_php-symfony/package/src/Model/cisu/CustomMap.php
new file mode 100644
index 0000000000..2773ad47b7
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/CustomMap.php
@@ -0,0 +1,211 @@
+key = array_key_exists('key', $data) ? $data['key'] : $this->key;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ $this->value = array_key_exists('value', $data) ? $data['value'] : $this->value;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets key.
+ *
+ * @return string|null
+ */
+ public function getKey(): ?string
+ {
+ return $this->key;
+ }
+
+ /**
+ * Sets key.
+ *
+ * @param string|null $key A valoriser avec le nom de la balise
+ *
+ * @return $this
+ */
+ public function setKey(?string $key): self
+ {
+ $this->key = $key;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellé correspondant
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label = null): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets value.
+ *
+ * @return string|null
+ */
+ public function getValue(): ?string
+ {
+ return $this->value;
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param string|null $value A valoriser avec la valeur associée à la clé
+ *
+ * @return $this
+ */
+ public function setValue(?string $value): self
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Informations complémentaires sur le contexte / utilisation de cette correspondance additionnelle
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/DetailedAddress.php b/generator_php-symfony/package/src/Model/cisu/DetailedAddress.php
new file mode 100644
index 0000000000..9fe0118983
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/DetailedAddress.php
@@ -0,0 +1,170 @@
+complete = array_key_exists('complete', $data) ? $data['complete'] : $this->complete;
+ $this->number = array_key_exists('number', $data) ? $data['number'] : $this->number;
+ $this->wayName = array_key_exists('wayName', $data) ? $data['wayName'] : $this->wayName;
+ }
+ }
+
+ /**
+ * Gets complete.
+ *
+ * @return string|null
+ */
+ public function getComplete(): ?string
+ {
+ return $this->complete;
+ }
+
+ /**
+ * Sets complete.
+ *
+ * @param string|null $complete A valoriser avec le numĂ©ro, le type et le nom de la voie. En rĂ©ception, il est possible que seul cette information soit remplie. SpĂ©cificitĂ©s 15-15 : si les informations pour les autoroutes (voie fĂ©rĂ©e ou voie navigable) ne sont pas structurĂ©es, il est possible de passer le nom, PK et sens ici, de maniĂšre concatĂ©nĂ©e. SpĂ©cificitĂ©s 15-18 : Obligatoire et seule valeur des dĂ©tails de l'adresse fournie par NexSIS. UtilisĂ© pour tout type de voie : autoroute (PK, nom et sens), voie ferrĂ©e, voie navigableâŠ
+ *
+ * @return $this
+ */
+ public function setComplete(?string $complete): self
+ {
+ $this->complete = $complete;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets number.
+ *
+ * @return string|null
+ */
+ public function getNumber(): ?string
+ {
+ return $this->number;
+ }
+
+ /**
+ * Sets number.
+ *
+ * @param string|null $number A valoriser avec le numĂ©ro dans l'adresse. La valeur de l'attribut inclut l'indice de rĂ©pĂ©tition associĂ© au numĂ©ro (par exemple bis, aâŠ). SpĂ©cificitĂ©s 15-18 : inclut le point kilomĂ©trique sur l'autoroute, voie ferrĂ©e ou voie navigable.
+ *
+ * @return $this
+ */
+ public function setNumber(?string $number = null): self
+ {
+ $this->number = $number;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets wayName.
+ *
+ * @return WayName|null
+ */
+ public function getWayName(): ?WayName
+ {
+ return $this->wayName;
+ }
+
+ /**
+ * Sets wayName.
+ *
+ * @param WayName|null $wayName
+ *
+ * @return $this
+ */
+ public function setWayName(?WayName $wayName = null): self
+ {
+ $this->wayName = $wayName;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/DetailedName.php b/generator_php-symfony/package/src/Model/cisu/DetailedName.php
new file mode 100644
index 0000000000..c1a3147aa7
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/DetailedName.php
@@ -0,0 +1,172 @@
+complete = array_key_exists('complete', $data) ? $data['complete'] : $this->complete;
+ $this->lastName = array_key_exists('lastName', $data) ? $data['lastName'] : $this->lastName;
+ $this->firstName = array_key_exists('firstName', $data) ? $data['firstName'] : $this->firstName;
+ }
+ }
+
+ /**
+ * Gets complete.
+ *
+ * @return string|null
+ */
+ public function getComplete(): ?string
+ {
+ return $this->complete;
+ }
+
+ /**
+ * Sets complete.
+ *
+ * @param string|null $complete A valoriser avec le prĂ©nom et le nom usuel du requĂ©rant/appelant. Si les champs callerLastName et callerFirstName sont Ă©galement renseignĂ©s, le champ callerName doit ĂȘtre valorisĂ© ainsi : \"{callerFirstName} {callerLastName}\". SpĂ©cificitĂ©s 15-18 : NexSIS ne dispose que de ces informations (concatĂ©nĂ©es) et pas de deux champs sĂ©parĂ©s.
+ *
+ * @return $this
+ */
+ public function setComplete(?string $complete): self
+ {
+ $this->complete = $complete;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lastName.
+ *
+ * @return string|null
+ */
+ public function getLastName(): ?string
+ {
+ return $this->lastName;
+ }
+
+ /**
+ * Sets lastName.
+ *
+ * @param string|null $lastName A valoriser avec le nom usuel du requérant
+ *
+ * @return $this
+ */
+ public function setLastName(?string $lastName = null): self
+ {
+ $this->lastName = $lastName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets firstName.
+ *
+ * @return string|null
+ */
+ public function getFirstName(): ?string
+ {
+ return $this->firstName;
+ }
+
+ /**
+ * Sets firstName.
+ *
+ * @param string|null $firstName A valoriser avec le prĂ©nom usuel du rĂ©quĂ©rant. Par convention les prĂ©noms composĂ©s doivent prĂ©fĂ©rablement ĂȘtre sĂ©parĂ©s par le caractĂšre \"-\"
+ *
+ * @return $this
+ */
+ public function setFirstName(?string $firstName = null): self
+ {
+ $this->firstName = $firstName;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/ExternalInfo.php b/generator_php-symfony/package/src/Model/cisu/ExternalInfo.php
new file mode 100644
index 0000000000..c8fcf454cb
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/ExternalInfo.php
@@ -0,0 +1,176 @@
+freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->uri = array_key_exists('uri', $data) ? $data['uri'] : $this->uri;
+ }
+ }
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext A valoriser avec le systĂšme fournissant le localisant
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec la dĂ©finition du type d'objet dans le systĂšme Exemple : SIG NexSIS / OSM ont plusieurs types de donnĂ©es (EGA, POI, tronçon de route, âŠ)
+ *
+ * @return $this
+ */
+ public function setType(?string $type): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uri.
+ *
+ * @return string|null
+ */
+ public function getUri(): ?string
+ {
+ return $this->uri;
+ }
+
+ /**
+ * Sets uri.
+ *
+ * @param string|null $uri Identifiant dans le systÚme concerné
+ *
+ * @return $this
+ */
+ public function setUri(?string $uri): self
+ {
+ $this->uri = $uri;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/ExternalLocationId.php b/generator_php-symfony/package/src/Model/cisu/ExternalLocationId.php
new file mode 100644
index 0000000000..55afa6daa3
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/ExternalLocationId.php
@@ -0,0 +1,137 @@
+source = array_key_exists('source', $data) ? $data['source'] : $this->source;
+ $this->value = array_key_exists('value', $data) ? $data['value'] : $this->value;
+ }
+ }
+
+ /**
+ * Gets source.
+ *
+ * @return string|null
+ */
+ public function getSource(): ?string
+ {
+ return $this->source;
+ }
+
+ /**
+ * Sets source.
+ *
+ * @param string|null $source A valoriser avec le type de l'identifiant fourni. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setSource(?string $source): self
+ {
+ $this->source = $source;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets value.
+ *
+ * @return string|null
+ */
+ public function getValue(): ?string
+ {
+ return $this->value;
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param string|null $value A valoriser avec l'identifiant en lui-mĂȘme
+ *
+ * @return $this
+ */
+ public function setValue(?string $value): self
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Geometry.php b/generator_php-symfony/package/src/Model/cisu/Geometry.php
new file mode 100644
index 0000000000..ff15ae65a3
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Geometry.php
@@ -0,0 +1,171 @@
+datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->point = array_key_exists('point', $data) ? $data['point'] : $this->point;
+ $this->sketch = array_key_exists('sketch', $data) ? $data['sketch'] : $this->sketch;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec le groupe date heure de renseignement des coordonnées du point clé de la localisation. Permet de connaßtre la fraßcheur et donc la pertinence des informations pour intervenir.
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets point.
+ *
+ * @return Point|null
+ */
+ public function getPoint(): ?Point
+ {
+ return $this->point;
+ }
+
+ /**
+ * Sets point.
+ *
+ * @param Point|null $point
+ *
+ * @return $this
+ */
+ public function setPoint(?Point $point = null): self
+ {
+ $this->point = $point;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sketch.
+ *
+ * @return string|null
+ */
+ public function getSketch(): ?string
+ {
+ return $this->sketch;
+ }
+
+ /**
+ * Sets sketch.
+ *
+ * @param string|null $sketch Objet gml (Ă©quivalent xml du geojson). Le langage GML permet de dĂ©crire une forme dans un systĂšme de projection donnĂ©. Dans le cas d'une alerte donnĂ©e sur une zone gĂ©ographique non prĂ©cise (par exemple une section d'autoroute ou une zone sur un chemin de randonnĂ©e), une indication sur la zone de recherche peut ĂȘtre fournie. En XML, un objet gml est encapsulĂ© dans une balise En JSON, les balises sont reprises depuis le modĂšle gml Voir http://www.opengis.net/gml pour le format de l'objet sketch
+ *
+ * @return $this
+ */
+ public function setSketch(?string $sketch = null): self
+ {
+ $this->sketch = $sketch;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/HealthMotive.php b/generator_php-symfony/package/src/Model/cisu/HealthMotive.php
new file mode 100644
index 0000000000..3201388a7c
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/HealthMotive.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Location.php b/generator_php-symfony/package/src/Model/cisu/Location.php
new file mode 100644
index 0000000000..a4c581692f
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Location.php
@@ -0,0 +1,468 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu\ExternalLocationId"),
+ ])]
+ protected ?array $externalLocationId = null;
+
+ /**
+ * @var DetailedAddress|null
+ * @SerializedName("detailedAddress")
+ * @Type("Hubsante\Model\cisu\DetailedAddress")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\DetailedAddress")]
+ protected ?DetailedAddress $detailedAddress = null;
+
+ /**
+ * @var City|null
+ * @SerializedName("city")
+ * @Type("Hubsante\Model\cisu\City")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\City")]
+ protected ?City $city = null;
+
+ /**
+ * @var Access|null
+ * @SerializedName("access")
+ * @Type("Hubsante\Model\cisu\Access")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\Access")]
+ protected ?Access $access = null;
+
+ /**
+ * @var Geometry|null
+ * @SerializedName("geometry")
+ * @Type("Hubsante\Model\cisu\Geometry")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\Geometry")]
+ protected ?Geometry $geometry = null;
+
+ /**
+ * @var ExternalInfo[]|null
+ * @SerializedName("externalInfo")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu\ExternalInfo"),
+ ])]
+ protected ?array $externalInfo = null;
+
+ /**
+ * @var string|null
+ * @SerializedName("country")
+ * @Type("string")
+ */
+ #[Assert\NotNull]
+ #[Assert\Choice(['AF', 'AX', 'AL', 'DZ', 'AS', 'AD', 'AO', 'AI', 'AQ', 'AG', 'AR', 'AM', 'AW', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BM', 'BT', 'BO', 'BA', 'BW', 'BV', 'BR', 'IO', 'BN', 'BG', 'BF', 'BI', 'CV', 'KH', 'CM', 'CA', 'KY', 'CF', 'TD', 'CL', 'CN', 'CX', 'CC', 'CO', 'KM', 'CG', 'CK', 'CR', 'CI', 'HR', 'CU', 'CW', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'SZ', 'ET', 'FK', 'FO', 'FJ', 'FI', 'FR', 'GF', 'PF', 'TF', 'GA', 'GM', 'GE', 'DE', 'GH', 'GI', 'GR', 'GL', 'GD', 'GP', 'GU', 'GT', 'GG', 'GN', 'GW', 'GY', 'HT', 'HM', 'VA', 'HN', 'HK', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IM', 'IL', 'IT', 'JM', 'JP', 'JE', 'JO', 'KZ', 'KE', 'KI', 'KP', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MO', 'MG', 'MW', 'MY', 'MV', 'ML', 'MT', 'MH', 'MQ', 'MR', 'MU', 'YT', 'MX', 'FM', 'MC', 'MN', 'ME', 'MS', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NL', 'NC', 'NZ', 'NI', 'NE', 'NG', 'NU', 'NF', 'MK', 'MP', 'NO', 'OM', 'PK', 'PW', 'PA', 'PG', 'PY', 'PE', 'PH', 'PN', 'PL', 'PT', 'PR', 'QA', 'RE', 'RO', 'RU', 'RW', 'BL', 'KN', 'LC', 'MF', 'PM', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SL', 'SG', 'SX', 'SK', 'SI', 'SB', 'SO', 'ZA', 'GS', 'SS', 'ES', 'LK', 'SD', 'SR', 'SJ', 'SE', 'CH', 'SY', 'TJ', 'TH', 'TL', 'TG', 'TK', 'TO', 'TT', 'TN', 'TR', 'TM', 'TC', 'TV', 'UG', 'UA', 'AE', 'GB', 'US', 'UM', 'UY', 'UZ', 'VU', 'VE', 'VN', 'VG', 'VI', 'WF', 'EH', 'YE', 'ZM', 'ZW'])]
+ #[Assert\Type("string")]
+ protected ?string $country = null;
+
+ /**
+ * Champ libre qui permet de complĂ©ter les informations liĂ©es Ă la localisation. SpĂ©cificitĂ©s 15-15 : En envoi, il est souhaitable de mapper ici toute valeur en lien avec la localisation de l'intervention qui ne pourrait pas ĂȘtre transmise de maniĂšre structurĂ©e dans l'objet location. En rĂ©ception, il est trĂšs important d'intĂ©grer et d'afficher la valeur de cet attribut, qui est suceptible de contenir des informations d'accĂšs importantes.
+ *
+ * @var string|null
+ * @SerializedName("freetext")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $freetext = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->locID = array_key_exists('locID', $data) ? $data['locID'] : $this->locID;
+ $this->locLabel = array_key_exists('locLabel', $data) ? $data['locLabel'] : $this->locLabel;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->externalLocationId = array_key_exists('externalLocationId', $data) ? $data['externalLocationId'] : $this->externalLocationId;
+ $this->detailedAddress = array_key_exists('detailedAddress', $data) ? $data['detailedAddress'] : $this->detailedAddress;
+ $this->city = array_key_exists('city', $data) ? $data['city'] : $this->city;
+ $this->access = array_key_exists('access', $data) ? $data['access'] : $this->access;
+ $this->geometry = array_key_exists('geometry', $data) ? $data['geometry'] : $this->geometry;
+ $this->externalInfo = array_key_exists('externalInfo', $data) ? $data['externalInfo'] : $this->externalInfo;
+ $this->country = array_key_exists('country', $data) ? $data['country'] : $this->country;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets locID.
+ *
+ * @return string|null
+ */
+ public function getLocID(): ?string
+ {
+ return $this->locID;
+ }
+
+ /**
+ * Sets locID.
+ *
+ * @param string|null $locID ID technique et provisoire permettant d'identifier le lieu dans le cadre des échanges de cette affaire.
+ *
+ * @return $this
+ */
+ public function setLocID(?string $locID): self
+ {
+ $this->locID = $locID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets locLabel.
+ *
+ * @return string|null
+ */
+ public function getLocLabel(): ?string
+ {
+ return $this->locLabel;
+ }
+
+ /**
+ * Sets locLabel.
+ *
+ * @param string|null $locLabel Donne les informations minimales d'identification du lieu d'intervention, qui permet d'identifier rapidement le lieu pour les équipes opérationnelles. Comprend au maximum 255 caractÚres. 15-18 : Dans les messages NexSIS, va souvent correspondre à la concaténation suivant des rÚgles métiers de différentes informations, dont le \"name\" (toponyme) et l'adresse.
+ *
+ * @return $this
+ */
+ public function setLocLabel(?string $locLabel = null): self
+ {
+ $this->locLabel = $locLabel;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom de lieu : nom commercial, nom d'Ă©tablissement, forĂȘt de Fontainebleau, lac du Der, etc.
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets externalLocationId.
+ *
+ * @return ExternalLocationId[]|null
+ */
+ public function getExternalLocationId(): ?array
+ {
+ return $this->externalLocationId;
+ }
+
+ /**
+ * Sets externalLocationId.
+ *
+ * @param ExternalLocationId[]|null $externalLocationId
+ *
+ * @return $this
+ */
+ public function setExternalLocationId(?array $externalLocationId = null): self
+ {
+ $this->externalLocationId = $externalLocationId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detailedAddress.
+ *
+ * @return DetailedAddress|null
+ */
+ public function getDetailedAddress(): ?DetailedAddress
+ {
+ return $this->detailedAddress;
+ }
+
+ /**
+ * Sets detailedAddress.
+ *
+ * @param DetailedAddress|null $detailedAddress
+ *
+ * @return $this
+ */
+ public function setDetailedAddress(?DetailedAddress $detailedAddress = null): self
+ {
+ $this->detailedAddress = $detailedAddress;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets city.
+ *
+ * @return City|null
+ */
+ public function getCity(): ?City
+ {
+ return $this->city;
+ }
+
+ /**
+ * Sets city.
+ *
+ * @param City|null $city
+ *
+ * @return $this
+ */
+ public function setCity(?City $city = null): self
+ {
+ $this->city = $city;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets access.
+ *
+ * @return Access|null
+ */
+ public function getAccess(): ?Access
+ {
+ return $this->access;
+ }
+
+ /**
+ * Sets access.
+ *
+ * @param Access|null $access
+ *
+ * @return $this
+ */
+ public function setAccess(?Access $access = null): self
+ {
+ $this->access = $access;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets geometry.
+ *
+ * @return Geometry|null
+ */
+ public function getGeometry(): ?Geometry
+ {
+ return $this->geometry;
+ }
+
+ /**
+ * Sets geometry.
+ *
+ * @param Geometry|null $geometry
+ *
+ * @return $this
+ */
+ public function setGeometry(?Geometry $geometry = null): self
+ {
+ $this->geometry = $geometry;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets externalInfo.
+ *
+ * @return ExternalInfo[]|null
+ */
+ public function getExternalInfo(): ?array
+ {
+ return $this->externalInfo;
+ }
+
+ /**
+ * Sets externalInfo.
+ *
+ * @param ExternalInfo[]|null $externalInfo
+ *
+ * @return $this
+ */
+ public function setExternalInfo(?array $externalInfo = null): self
+ {
+ $this->externalInfo = $externalInfo;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets country.
+ *
+ * @return string|null
+ */
+ public function getCountry(): ?string
+ {
+ return $this->country;
+ }
+
+ /**
+ * Sets country.
+ *
+ * @param string|null $country
+ *
+ * @return $this
+ */
+ public function setCountry(?string $country): self
+ {
+ $this->country = $country;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Champ libre qui permet de complĂ©ter les informations liĂ©es Ă la localisation. SpĂ©cificitĂ©s 15-15 : En envoi, il est souhaitable de mapper ici toute valeur en lien avec la localisation de l'intervention qui ne pourrait pas ĂȘtre transmise de maniĂšre structurĂ©e dans l'objet location. En rĂ©ception, il est trĂšs important d'intĂ©grer et d'afficher la valeur de cet attribut, qui est suceptible de contenir des informations d'accĂšs importantes.
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/LocationKind.php b/generator_php-symfony/package/src/Model/cisu/LocationKind.php
new file mode 100644
index 0000000000..c7950b13c3
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/LocationKind.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Notes.php b/generator_php-symfony/package/src/Model/cisu/Notes.php
new file mode 100644
index 0000000000..763bf8fd4b
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Notes.php
@@ -0,0 +1,134 @@
+creation = array_key_exists('creation', $data) ? $data['creation'] : $this->creation;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets creation.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreation(): ?\DateTime
+ {
+ return $this->creation;
+ }
+
+ /**
+ * Sets creation.
+ *
+ * @param \DateTime|null $creation A valoriser avec le groupe date heure de création de l'information complémentaire
+ *
+ * @return $this
+ */
+ public function setCreation(?\DateTime $creation = null): self
+ {
+ $this->creation = $creation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext A valoriser avec un texte libre contenant les indications complĂ©mentaires renseignĂ©es sur l'alerte/appel. SpĂ©cificitĂ©s 15-15 : cet attribut ne doit pas ĂȘtre valorisĂ© avec des notes Ă caractĂšre mĂ©dical, qui serait liĂ©e Ă un interrogatoire ARM ou mĂ©decin, ou Ă un patient en particulier
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Point.php b/generator_php-symfony/package/src/Model/cisu/Point.php
new file mode 100644
index 0000000000..b202ee1e12
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Point.php
@@ -0,0 +1,95 @@
+coord = array_key_exists('coord', $data) ? $data['coord'] : $this->coord;
+ }
+ }
+
+ /**
+ * Gets coord.
+ *
+ * @return Coord|null
+ */
+ public function getCoord(): ?Coord
+ {
+ return $this->coord;
+ }
+
+ /**
+ * Sets coord.
+ *
+ * @param Coord|null $coord
+ *
+ * @return $this
+ */
+ public function setCoord(?Coord $coord): self
+ {
+ $this->coord = $coord;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Qualification.php b/generator_php-symfony/package/src/Model/cisu/Qualification.php
new file mode 100644
index 0000000000..106a8c9c84
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Qualification.php
@@ -0,0 +1,241 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu\RiskThreat"),
+ ])]
+ protected ?array $riskThreat = null;
+
+ /**
+ * @var WhatsHappen|null
+ * @SerializedName("whatsHappen")
+ * @Type("Hubsante\Model\cisu\WhatsHappen")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\Type("Hubsante\Model\cisu\WhatsHappen")]
+ protected ?WhatsHappen $whatsHappen = null;
+
+ /**
+ * @var LocationKind|null
+ * @SerializedName("locationKind")
+ * @Type("Hubsante\Model\cisu\LocationKind")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\LocationKind")]
+ protected ?LocationKind $locationKind = null;
+
+ /**
+ * @var HealthMotive|null
+ * @SerializedName("healthMotive")
+ * @Type("Hubsante\Model\cisu\HealthMotive")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\HealthMotive")]
+ protected ?HealthMotive $healthMotive = null;
+
+ /**
+ * @var Victims|null
+ * @SerializedName("victims")
+ * @Type("Hubsante\Model\cisu\Victims")
+ */
+ #[Assert\Type("Hubsante\Model\cisu\Victims")]
+ protected ?Victims $victims = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->riskThreat = array_key_exists('riskThreat', $data) ? $data['riskThreat'] : $this->riskThreat;
+ $this->whatsHappen = array_key_exists('whatsHappen', $data) ? $data['whatsHappen'] : $this->whatsHappen;
+ $this->locationKind = array_key_exists('locationKind', $data) ? $data['locationKind'] : $this->locationKind;
+ $this->healthMotive = array_key_exists('healthMotive', $data) ? $data['healthMotive'] : $this->healthMotive;
+ $this->victims = array_key_exists('victims', $data) ? $data['victims'] : $this->victims;
+ }
+ }
+
+ /**
+ * Gets riskThreat.
+ *
+ * @return RiskThreat[]|null
+ */
+ public function getRiskThreat(): ?array
+ {
+ return $this->riskThreat;
+ }
+
+ /**
+ * Sets riskThreat.
+ *
+ * @param RiskThreat[]|null $riskThreat
+ *
+ * @return $this
+ */
+ public function setRiskThreat(?array $riskThreat = null): self
+ {
+ $this->riskThreat = $riskThreat;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets whatsHappen.
+ *
+ * @return WhatsHappen|null
+ */
+ public function getWhatsHappen(): ?WhatsHappen
+ {
+ return $this->whatsHappen;
+ }
+
+ /**
+ * Sets whatsHappen.
+ *
+ * @param WhatsHappen|null $whatsHappen
+ *
+ * @return $this
+ */
+ public function setWhatsHappen(?WhatsHappen $whatsHappen): self
+ {
+ $this->whatsHappen = $whatsHappen;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets locationKind.
+ *
+ * @return LocationKind|null
+ */
+ public function getLocationKind(): ?LocationKind
+ {
+ return $this->locationKind;
+ }
+
+ /**
+ * Sets locationKind.
+ *
+ * @param LocationKind|null $locationKind
+ *
+ * @return $this
+ */
+ public function setLocationKind(?LocationKind $locationKind = null): self
+ {
+ $this->locationKind = $locationKind;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets healthMotive.
+ *
+ * @return HealthMotive|null
+ */
+ public function getHealthMotive(): ?HealthMotive
+ {
+ return $this->healthMotive;
+ }
+
+ /**
+ * Sets healthMotive.
+ *
+ * @param HealthMotive|null $healthMotive
+ *
+ * @return $this
+ */
+ public function setHealthMotive(?HealthMotive $healthMotive = null): self
+ {
+ $this->healthMotive = $healthMotive;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets victims.
+ *
+ * @return Victims|null
+ */
+ public function getVictims(): ?Victims
+ {
+ return $this->victims;
+ }
+
+ /**
+ * Sets victims.
+ *
+ * @param Victims|null $victims
+ *
+ * @return $this
+ */
+ public function setVictims(?Victims $victims = null): self
+ {
+ $this->victims = $victims;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/RiskThreat.php b/generator_php-symfony/package/src/Model/cisu/RiskThreat.php
new file mode 100644
index 0000000000..ac74529fef
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/RiskThreat.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/Victims.php b/generator_php-symfony/package/src/Model/cisu/Victims.php
new file mode 100644
index 0000000000..e02fc6ed09
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/Victims.php
@@ -0,0 +1,173 @@
+count = array_key_exists('count', $data) ? $data['count'] : $this->count;
+ $this->mainVictim = array_key_exists('mainVictim', $data) ? $data['mainVictim'] : $this->mainVictim;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets count.
+ *
+ * @return string|null
+ */
+ public function getCount(): ?string
+ {
+ return $this->count;
+ }
+
+ /**
+ * Sets count.
+ *
+ * @param string|null $count Indique le nombre de victimes selon la nomenclature du référentiel CISU
+ *
+ * @return $this
+ */
+ public function setCount(?string $count = null): self
+ {
+ $this->count = $count;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mainVictim.
+ *
+ * @return string|null
+ */
+ public function getMainVictim(): ?string
+ {
+ return $this->mainVictim;
+ }
+
+ /**
+ * Sets mainVictim.
+ *
+ * @param string|null $mainVictim Identifie le type de la principale victime (celle dont l'état de santé provoque le déclenchement de l'envoi des secours). Prend les valeurs du référentiel CISU. Entre dans la détermination des partenaires impliqués par NexSIS.
+ *
+ * @return $this
+ */
+ public function setMainVictim(?string $mainVictim = null): self
+ {
+ $this->mainVictim = $mainVictim;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Permet de complémenter en commentaire libre la(les) victime(s)
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/WayName.php b/generator_php-symfony/package/src/Model/cisu/WayName.php
new file mode 100644
index 0000000000..27b7b60c39
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/WayName.php
@@ -0,0 +1,172 @@
+complete = array_key_exists('complete', $data) ? $data['complete'] : $this->complete;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ }
+ }
+
+ /**
+ * Gets complete.
+ *
+ * @return string|null
+ */
+ public function getComplete(): ?string
+ {
+ return $this->complete;
+ }
+
+ /**
+ * Sets complete.
+ *
+ * @param string|null $complete A valoriser avec le type et le nom de la voie. Si les attributs \"type\" et \"name\" de \"wayName\" sont Ă©galement renseignĂ©s, alors \"complete\" doit ĂȘtre valorisĂ© ainsi : \"{type} {nom}\".
+ *
+ * @return $this
+ */
+ public function setComplete(?string $complete): self
+ {
+ $this->complete = $complete;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec le type de la voie
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom de la voie
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/WhatsHappen.php b/generator_php-symfony/package/src/Model/cisu/WhatsHappen.php
new file mode 100644
index 0000000000..38b716a9be
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/WhatsHappen.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/resources/Contact.php b/generator_php-symfony/package/src/Model/cisu/resources/Contact.php
new file mode 100644
index 0000000000..e963e649da
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/resources/Contact.php
@@ -0,0 +1,134 @@
+type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->details = array_key_exists('details', $data) ? $data['details'] : $this->details;
+ }
+ }
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets details.
+ *
+ * @return string|null
+ */
+ public function getDetails(): ?string
+ {
+ return $this->details;
+ }
+
+ /**
+ * Sets details.
+ *
+ * @param string|null $details A valoriser avec la valeur de l'URI utilisée Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @return $this
+ */
+ public function setDetails(?string $details = null): self
+ {
+ $this->details = $details;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/resources/Resource.php b/generator_php-symfony/package/src/Model/cisu/resources/Resource.php
new file mode 100644
index 0000000000..6808d21060
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/resources/Resource.php
@@ -0,0 +1,555 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $freetext = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->resourceId = array_key_exists('resourceId', $data) ? $data['resourceId'] : $this->resourceId;
+ $this->requestId = array_key_exists('requestId', $data) ? $data['requestId'] : $this->requestId;
+ $this->missionId = array_key_exists('missionId', $data) ? $data['missionId'] : $this->missionId;
+ $this->orgId = array_key_exists('orgId', $data) ? $data['orgId'] : $this->orgId;
+ $this->centerName = array_key_exists('centerName', $data) ? $data['centerName'] : $this->centerName;
+ $this->vehicleType = array_key_exists('vehicleType', $data) ? $data['vehicleType'] : $this->vehicleType;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->centerCity = array_key_exists('centerCity', $data) ? $data['centerCity'] : $this->centerCity;
+ $this->team = array_key_exists('team', $data) ? $data['team'] : $this->team;
+ $this->state = array_key_exists('state', $data) ? $data['state'] : $this->state;
+ $this->contact = array_key_exists('contact', $data) ? $data['contact'] : $this->contact;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec la date et heure d'engagement de la ressource/du vecteur
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets resourceId.
+ *
+ * @return string|null
+ */
+ public function getResourceId(): ?string
+ {
+ return $this->resourceId;
+ }
+
+ /**
+ * Sets resourceId.
+ *
+ * @param string|null $resourceId A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}
+ *
+ * @return $this
+ */
+ public function setResourceId(?string $resourceId): self
+ {
+ $this->resourceId = $resourceId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets requestId.
+ *
+ * @return string|null
+ */
+ public function getRequestId(): ?string
+ {
+ return $this->requestId;
+ }
+
+ /**
+ * Sets requestId.
+ *
+ * @param string|null $requestId A valoriser avec l'identifiant unique partagĂ© de la demande de ressource (si la ressource a Ă©tĂ© engagĂ©e suite Ă une demande de ressource), normĂ© comme suit : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - si un ID unique de la demande n'Ă©tait pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}
+ *
+ * @return $this
+ */
+ public function setRequestId(?string $requestId = null): self
+ {
+ $this->requestId = $requestId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets missionId.
+ *
+ * @return string|null
+ */
+ public function getMissionId(): ?string
+ {
+ return $this->missionId;
+ }
+
+ /**
+ * Sets missionId.
+ *
+ * @param string|null $missionId A valoriser avec le numĂ©ro de mission unique du central dâappel (PSAP, âŠ) qui a dĂ©clenchĂ© le vecteur
+ *
+ * @return $this
+ */
+ public function setMissionId(?string $missionId = null): self
+ {
+ $this->missionId = $missionId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets orgId.
+ *
+ * @return string|null
+ */
+ public function getOrgId(): ?string
+ {
+ return $this->orgId;
+ }
+
+ /**
+ * Sets orgId.
+ *
+ * @param string|null $orgId A valoriser avec l'identifiant de l'organisation à laquelle appartient la ressource, normé comme suit : {pays}.{domaine}.{organisation}
+ *
+ * @return $this
+ */
+ public function setOrgId(?string $orgId = null): self
+ {
+ $this->orgId = $orgId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets centerName.
+ *
+ * @return string|null
+ */
+ public function getCenterName(): ?string
+ {
+ return $this->centerName;
+ }
+
+ /**
+ * Sets centerName.
+ *
+ * @param string|null $centerName A valoriser avec le lieu de garage principal
+ *
+ * @return $this
+ */
+ public function setCenterName(?string $centerName = null): self
+ {
+ $this->centerName = $centerName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets vehicleType.
+ *
+ * @return string|null
+ */
+ public function getVehicleType(): ?string
+ {
+ return $this->vehicleType;
+ }
+
+ /**
+ * Sets vehicleType.
+ *
+ * @param string|null $vehicleType A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée
+ *
+ * @return $this
+ */
+ public function setVehicleType(?string $vehicleType): self
+ {
+ $this->vehicleType = $vehicleType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom donnĂ© Ă la ressource par lâorganisation dâappartenance
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets centerCity.
+ *
+ * @return string|null
+ */
+ public function getCenterCity(): ?string
+ {
+ return $this->centerCity;
+ }
+
+ /**
+ * Sets centerCity.
+ *
+ * @param string|null $centerCity A valoriser avec le code INSEE de la commune du centre d'affectation
+ *
+ * @return $this
+ */
+ public function setCenterCity(?string $centerCity = null): self
+ {
+ $this->centerCity = $centerCity;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets team.
+ *
+ * @return Team|null
+ */
+ public function getTeam(): ?Team
+ {
+ return $this->team;
+ }
+
+ /**
+ * Sets team.
+ *
+ * @param Team|null $team
+ *
+ * @return $this
+ */
+ public function setTeam(?Team $team = null): self
+ {
+ $this->team = $team;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets state.
+ *
+ * @return State|null
+ */
+ public function getState(): ?State
+ {
+ return $this->state;
+ }
+
+ /**
+ * Sets state.
+ *
+ * @param State|null $state
+ *
+ * @return $this
+ */
+ public function setState(?State $state): self
+ {
+ $this->state = $state;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets contact.
+ *
+ * @return Contact|null
+ */
+ public function getContact(): ?Contact
+ {
+ return $this->contact;
+ }
+
+ /**
+ * Sets contact.
+ *
+ * @param Contact|null $contact
+ *
+ * @return $this
+ */
+ public function setContact(?Contact $contact = null): self
+ {
+ $this->contact = $contact;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string[]|null
+ */
+ public function getFreetext(): ?array
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string[]|null $freetext
+ *
+ * @return $this
+ */
+ public function setFreetext(?array $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/resources/ResourcesInfoCisu.php b/generator_php-symfony/package/src/Model/cisu/resources/ResourcesInfoCisu.php
new file mode 100644
index 0000000000..323347fd33
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/resources/ResourcesInfoCisu.php
@@ -0,0 +1,135 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\cisu.resources\Resource"),
+ ])]
+ protected ?array $resource = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->resource = array_key_exists('resource', $data) ? $data['resource'] : $this->resource;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets resource.
+ *
+ * @return Resource[]|null
+ */
+ public function getResource(): ?array
+ {
+ return $this->resource;
+ }
+
+ /**
+ * Sets resource.
+ *
+ * @param Resource[]|null $resource
+ *
+ * @return $this
+ */
+ public function setResource(?array $resource = null): self
+ {
+ $this->resource = $resource;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/resources/ResourcesInfoCisuWrapper.php b/generator_php-symfony/package/src/Model/cisu/resources/ResourcesInfoCisuWrapper.php
new file mode 100644
index 0000000000..ba37fb4606
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/resources/ResourcesInfoCisuWrapper.php
@@ -0,0 +1,95 @@
+resourcesInfoCisu = array_key_exists('resourcesInfoCisu', $data) ? $data['resourcesInfoCisu'] : $this->resourcesInfoCisu;
+ }
+ }
+
+ /**
+ * Gets resourcesInfoCisu.
+ *
+ * @return ResourcesInfoCisu|null
+ */
+ public function getResourcesInfoCisu(): ?ResourcesInfoCisu
+ {
+ return $this->resourcesInfoCisu;
+ }
+
+ /**
+ * Sets resourcesInfoCisu.
+ *
+ * @param ResourcesInfoCisu|null $resourcesInfoCisu
+ *
+ * @return $this
+ */
+ public function setResourcesInfoCisu(?ResourcesInfoCisu $resourcesInfoCisu): self
+ {
+ $this->resourcesInfoCisu = $resourcesInfoCisu;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/resources/State.php b/generator_php-symfony/package/src/Model/cisu/resources/State.php
new file mode 100644
index 0000000000..421bc2d225
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/resources/State.php
@@ -0,0 +1,175 @@
+datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ $this->availability = array_key_exists('availability', $data) ? $data['availability'] : $this->availability;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec la date et heure d'engagement de changement vers le nouveau statut
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets availability.
+ *
+ * @return bool|null
+ */
+ public function isAvailability(): ?bool
+ {
+ return $this->availability;
+ }
+
+ /**
+ * Sets availability.
+ *
+ * @param bool|null $availability A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU
+ *
+ * @return $this
+ */
+ public function setAvailability(?bool $availability = null): self
+ {
+ $this->availability = $availability;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/cisu/resources/Team.php b/generator_php-symfony/package/src/Model/cisu/resources/Team.php
new file mode 100644
index 0000000000..b45dc8a132
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/cisu/resources/Team.php
@@ -0,0 +1,134 @@
+medicalLevel = array_key_exists('medicalLevel', $data) ? $data['medicalLevel'] : $this->medicalLevel;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ }
+ }
+
+ /**
+ * Gets medicalLevel.
+ *
+ * @return string|null
+ */
+ public function getMedicalLevel(): ?string
+ {
+ return $this->medicalLevel;
+ }
+
+ /**
+ * Sets medicalLevel.
+ *
+ * @param string|null $medicalLevel A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée
+ *
+ * @return $this
+ */
+ public function setMedicalLevel(?string $medicalLevel = null): self
+ {
+ $this->medicalLevel = $medicalLevel;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom de l'équipe à bord du vecteur (celui communiqué par l'organisation à laquelle l'équipe appartient)
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/documentlink/Document.php b/generator_php-symfony/package/src/Model/documentlink/Document.php
new file mode 100644
index 0000000000..44049c9e00
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/documentlink/Document.php
@@ -0,0 +1,134 @@
+documentType = array_key_exists('documentType', $data) ? $data['documentType'] : $this->documentType;
+ $this->url = array_key_exists('url', $data) ? $data['url'] : $this->url;
+ }
+ }
+
+ /**
+ * Gets documentType.
+ *
+ * @return string|null
+ */
+ public function getDocumentType(): ?string
+ {
+ return $this->documentType;
+ }
+
+ /**
+ * Sets documentType.
+ *
+ * @param string|null $documentType Informe l'utilisateur du type de document que le lien URL permet d'ouvrir
+ *
+ * @return $this
+ */
+ public function setDocumentType(?string $documentType = null): self
+ {
+ $this->documentType = $documentType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets url.
+ *
+ * @return string|null
+ */
+ public function getUrl(): ?string
+ {
+ return $this->url;
+ }
+
+ /**
+ * Sets url.
+ *
+ * @param string|null $url URL qui permet à l'utilisateur du LRM d'ouvrir le type de document précisé dans le champ précédent
+ *
+ * @return $this
+ */
+ public function setUrl(?string $url): self
+ {
+ $this->url = $url;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/documentlink/DocumentLink.php b/generator_php-symfony/package/src/Model/documentlink/DocumentLink.php
new file mode 100644
index 0000000000..b90e5d0a20
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/documentlink/DocumentLink.php
@@ -0,0 +1,215 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\documentlink\Document"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $document = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->patientId = array_key_exists('patientId', $data) ? $data['patientId'] : $this->patientId;
+ $this->code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->document = array_key_exists('document', $data) ? $data['document'] : $this->document;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId Identifiant partagĂ© du dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets patientId.
+ *
+ * @return string|null
+ */
+ public function getPatientId(): ?string
+ {
+ return $this->patientId;
+ }
+
+ /**
+ * Sets patientId.
+ *
+ * @param string|null $patientId Indique l'identifiant partagé du patient auquel les documents sont rattachés
+ *
+ * @return $this
+ */
+ public function setPatientId(?string $patientId = null): self
+ {
+ $this->patientId = $patientId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code Code unitaire par bilan qui permet à l'utilisateur qui reçoit ce lien d'ouvrir le bilan lorsque celui ci ne nécessite pas une connexion nominative mais un code bilan
+ *
+ * @return $this
+ */
+ public function setCode(?string $code = null): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets document.
+ *
+ * @return Document[]|null
+ */
+ public function getDocument(): ?array
+ {
+ return $this->document;
+ }
+
+ /**
+ * Sets document.
+ *
+ * @param Document[]|null $document
+ *
+ * @return $this
+ */
+ public function setDocument(?array $document): self
+ {
+ $this->document = $document;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/documentlink/DocumentLinkWrapper.php b/generator_php-symfony/package/src/Model/documentlink/DocumentLinkWrapper.php
new file mode 100644
index 0000000000..c9b4be29e5
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/documentlink/DocumentLinkWrapper.php
@@ -0,0 +1,95 @@
+documentLink = array_key_exists('documentLink', $data) ? $data['documentLink'] : $this->documentLink;
+ }
+ }
+
+ /**
+ * Gets documentLink.
+ *
+ * @return DocumentLink|null
+ */
+ public function getDocumentLink(): ?DocumentLink
+ {
+ return $this->documentLink;
+ }
+
+ /**
+ * Sets documentLink.
+ *
+ * @param DocumentLink|null $documentLink
+ *
+ * @return $this
+ */
+ public function setDocumentLink(?DocumentLink $documentLink): self
+ {
+ $this->documentLink = $documentLink;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/edxl/Content.php b/generator_php-symfony/package/src/Model/edxl/Content.php
new file mode 100644
index 0000000000..2809102f23
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/Content.php
@@ -0,0 +1,95 @@
+contentObject = array_key_exists('contentObject', $data) ? $data['contentObject'] : $this->contentObject;
+ }
+ }
+
+ /**
+ * Gets contentObject.
+ *
+ * @return ContentObject|null
+ */
+ public function getContentObject(): ?ContentObject
+ {
+ return $this->contentObject;
+ }
+
+ /**
+ * Sets contentObject.
+ *
+ * @param ContentObject|null $contentObject
+ *
+ * @return $this
+ */
+ public function setContentObject(?ContentObject $contentObject): self
+ {
+ $this->contentObject = $contentObject;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/edxl/ContentMessage.php b/generator_php-symfony/package/src/Model/edxl/ContentMessage.php
new file mode 100644
index 0000000000..31408d5ee7
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/ContentMessage.php
@@ -0,0 +1,42 @@
+ \App\Model\reference\ReferenceWrapper::class,
+ 'CreateCaseWrapper' => \App\Model\cisu\CreateCaseWrapper::class,
+ 'CreateCaseHealthWrapper' => \App\Model\health\CreateCaseHealthWrapper::class,
+ 'CreateCaseHealthUpdateWrapper' => \App\Model\health\CreateCaseHealthUpdateWrapper::class,
+ 'EmsiWrapper' => \App\Model\emsi\EmsiWrapper::class,
+ 'ResourcesInfoWrapper' => \App\Model\resources\info\ResourcesInfoWrapper::class,
+ 'ResourcesInfoCisuWrapper' => \App\Model\cisu\resources\ResourcesInfoCisuWrapper::class,
+ 'ResourcesEngagementWrapper' => \App\Model\resources\info\ResourcesEngagementWrapper::class,
+ 'ResourcesStatusWrapper' => \App\Model\resources\status\ResourcesStatusWrapper::class,
+ 'ResourcesRequestWrapper' => \App\Model\resources\request\ResourcesRequestWrapper::class,
+ 'ResourcesResponseWrapper' => \App\Model\resources\response\ResourcesResponseWrapper::class,
+ 'RpisWrapper' => \App\Model\rpis\RpisWrapper::class,
+ 'InterventionReportWrapper' => \App\Model\interventionReport\InterventionReportWrapper::class,
+ 'DocumentLinkWrapper' => \App\Model\documentLink\DocumentLinkWrapper::class,
+ 'GeoPositionsUpdateWrapper' => \App\Model\geo\GeoPositionsUpdateWrapper::class,
+ 'GeoResourcesRequestWrapper' => \App\Model\geo\GeoResourcesRequestWrapper::class,
+ 'GeoResourcesDetailsWrapper' => \App\Model\geo\GeoResourcesDetailsWrapper::class,
+ 'AppointmentWrapper' => \App\Model\sas\AppointmentWrapper::class,
+ 'TechnicalWrapper' => \App\Model\technical\TechnicalWrapper::class,
+ 'TechnicalNoreqWrapper' => \App\Model\technical\noreq\TechnicalNoreqWrapper::class,
+ 'ErrorWrapper' => \App\Model\report\ErrorWrapper::class,
+ 'CustomMessage' => \App\Model\custom\CustomMessage::class,
+])]
+abstract class ContentMessage
+{
+ public function equals(object $other): bool
+ {
+ return $this === $other || get_class($this) === get_class($other);
+ }
+
+ public function hashCode(): int
+ {
+ return 0;
+ }
+}
diff --git a/generator_php-symfony/package/src/Model/edxl/ContentObject.php b/generator_php-symfony/package/src/Model/edxl/ContentObject.php
new file mode 100644
index 0000000000..8985f14d13
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/ContentObject.php
@@ -0,0 +1,93 @@
+jsonContent = array_key_exists('jsonContent', $data) ? $data['jsonContent'] : $this->jsonContent;
+ }
+ }
+
+ /**
+ * Gets jsonContent.
+ *
+ * @return JsonContent|null
+ */
+ public function getJsonContent(): ?JsonContent
+ {
+ return $this->jsonContent;
+ }
+
+ /**
+ * Sets jsonContent.
+ *
+ * @param JsonContent|null $jsonContent
+ *
+ * @return $this
+ */
+ public function setJsonContent(?JsonContent $jsonContent = null): self
+ {
+ $this->jsonContent = $jsonContent;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/edxl/Descriptor.php b/generator_php-symfony/package/src/Model/edxl/Descriptor.php
new file mode 100644
index 0000000000..4dc6c8e389
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/Descriptor.php
@@ -0,0 +1,132 @@
+language = array_key_exists('language', $data) ? $data['language'] : $this->language;
+ $this->explicitAddress = array_key_exists('explicitAddress', $data) ? $data['explicitAddress'] : $this->explicitAddress;
+ }
+ }
+
+ /**
+ * Gets language.
+ *
+ * @return string|null
+ */
+ public function getLanguage(): ?string
+ {
+ return $this->language;
+ }
+
+ /**
+ * Sets language.
+ *
+ * @param string|null $language
+ *
+ * @return $this
+ */
+ public function setLanguage(?string $language): self
+ {
+ $this->language = $language;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets explicitAddress.
+ *
+ * @return ExplicitAddress|null
+ */
+ public function getExplicitAddress(): ?ExplicitAddress
+ {
+ return $this->explicitAddress;
+ }
+
+ /**
+ * Sets explicitAddress.
+ *
+ * @param ExplicitAddress|null $explicitAddress
+ *
+ * @return $this
+ */
+ public function setExplicitAddress(?ExplicitAddress $explicitAddress): self
+ {
+ $this->explicitAddress = $explicitAddress;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/edxl/DistributionKind.php b/generator_php-symfony/package/src/Model/edxl/DistributionKind.php
new file mode 100644
index 0000000000..7f993ddbf6
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/DistributionKind.php
@@ -0,0 +1,62 @@
+distributionID = array_key_exists('distributionID', $data) ? $data['distributionID'] : $this->distributionID;
+ $this->senderID = array_key_exists('senderID', $data) ? $data['senderID'] : $this->senderID;
+ $this->dateTimeSent = array_key_exists('dateTimeSent', $data) ? $data['dateTimeSent'] : $this->dateTimeSent;
+ $this->dateTimeExpires = array_key_exists('dateTimeExpires', $data) ? $data['dateTimeExpires'] : $this->dateTimeExpires;
+ $this->distributionStatus = array_key_exists('distributionStatus', $data) ? $data['distributionStatus'] : $this->distributionStatus;
+ $this->distributionKind = array_key_exists('distributionKind', $data) ? $data['distributionKind'] : $this->distributionKind;
+ $this->descriptor = array_key_exists('descriptor', $data) ? $data['descriptor'] : $this->descriptor;
+ $this->content = array_key_exists('content', $data) ? $data['content'] : $this->content;
+ }
+ }
+
+ /**
+ * Gets distributionID.
+ *
+ * @return string|null
+ */
+ public function getDistributionID(): ?string
+ {
+ return $this->distributionID;
+ }
+
+ /**
+ * Sets distributionID.
+ *
+ * @param string|null $distributionID
+ *
+ * @return $this
+ */
+ public function setDistributionID(?string $distributionID): self
+ {
+ $this->distributionID = $distributionID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets senderID.
+ *
+ * @return string|null
+ */
+ public function getSenderID(): ?string
+ {
+ return $this->senderID;
+ }
+
+ /**
+ * Sets senderID.
+ *
+ * @param string|null $senderID
+ *
+ * @return $this
+ */
+ public function setSenderID(?string $senderID): self
+ {
+ $this->senderID = $senderID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dateTimeSent.
+ *
+ * @return \DateTime|null
+ */
+ public function getDateTimeSent(): ?\DateTime
+ {
+ return $this->dateTimeSent;
+ }
+
+ /**
+ * Sets dateTimeSent.
+ *
+ * @param \DateTime|null $dateTimeSent
+ *
+ * @return $this
+ */
+ public function setDateTimeSent(?\DateTime $dateTimeSent): self
+ {
+ $this->dateTimeSent = $dateTimeSent;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dateTimeExpires.
+ *
+ * @return \DateTime|null
+ */
+ public function getDateTimeExpires(): ?\DateTime
+ {
+ return $this->dateTimeExpires;
+ }
+
+ /**
+ * Sets dateTimeExpires.
+ *
+ * @param \DateTime|null $dateTimeExpires
+ *
+ * @return $this
+ */
+ public function setDateTimeExpires(?\DateTime $dateTimeExpires): self
+ {
+ $this->dateTimeExpires = $dateTimeExpires;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets distributionStatus.
+ *
+ * @return DistributionStatus|null
+ */
+ public function getDistributionStatus(): ?DistributionStatus
+ {
+ return $this->distributionStatus;
+ }
+
+ /**
+ * Sets distributionStatus.
+ *
+ * @param DistributionStatus|null $distributionStatus
+ *
+ * @return $this
+ */
+ public function setDistributionStatus(?DistributionStatus $distributionStatus): self
+ {
+ $this->distributionStatus = $distributionStatus;
+
+ return $this;
+ }
+
+ /**
+ * Gets distributionStatus for serialization.
+ *
+ * @return string|null
+ */
+ public function getSerializedDistributionStatus(): string|null
+ {
+ return !is_null($this->distributionStatus?->value) ? (string) $this->distributionStatus->value : null;
+ }
+
+ /**
+ * Sets distributionStatus.
+ *
+ * @param string|DistributionStatus|null $distributionStatus
+ *
+ * @return $this
+ */
+ public function setDeserializedDistributionStatus(string|DistributionStatus|null $distributionStatus): self
+ {
+ if (is_string($distributionStatus)) {
+ $distributionStatus = DistributionStatus::tryFrom($distributionStatus);
+ }
+
+ $this->distributionStatus = $distributionStatus;
+
+ return $this;
+ }
+
+
+
+ /**
+ * Gets distributionKind.
+ *
+ * @return DistributionKind|null
+ */
+ public function getDistributionKind(): ?DistributionKind
+ {
+ return $this->distributionKind;
+ }
+
+ /**
+ * Sets distributionKind.
+ *
+ * @param DistributionKind|null $distributionKind
+ *
+ * @return $this
+ */
+ public function setDistributionKind(?DistributionKind $distributionKind): self
+ {
+ $this->distributionKind = $distributionKind;
+
+ return $this;
+ }
+
+ /**
+ * Gets distributionKind for serialization.
+ *
+ * @return string|null
+ */
+ public function getSerializedDistributionKind(): string|null
+ {
+ return !is_null($this->distributionKind?->value) ? (string) $this->distributionKind->value : null;
+ }
+
+ /**
+ * Sets distributionKind.
+ *
+ * @param string|DistributionKind|null $distributionKind
+ *
+ * @return $this
+ */
+ public function setDeserializedDistributionKind(string|DistributionKind|null $distributionKind): self
+ {
+ if (is_string($distributionKind)) {
+ $distributionKind = DistributionKind::tryFrom($distributionKind);
+ }
+
+ $this->distributionKind = $distributionKind;
+
+ return $this;
+ }
+
+
+
+ /**
+ * Gets descriptor.
+ *
+ * @return Descriptor|null
+ */
+ public function getDescriptor(): ?Descriptor
+ {
+ return $this->descriptor;
+ }
+
+ /**
+ * Sets descriptor.
+ *
+ * @param Descriptor|null $descriptor
+ *
+ * @return $this
+ */
+ public function setDescriptor(?Descriptor $descriptor): self
+ {
+ $this->descriptor = $descriptor;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets content.
+ *
+ * @return Content|null
+ */
+ public function getContent(): ?Content
+ {
+ return $this->content;
+ }
+
+ /**
+ * Sets content.
+ *
+ * @param Content|null $content
+ *
+ * @return $this
+ */
+ public function setContent(?Content $content): self
+ {
+ $this->content = $content;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/edxl/EmbeddedJsonContent.php b/generator_php-symfony/package/src/Model/edxl/EmbeddedJsonContent.php
new file mode 100644
index 0000000000..e00e6f4e27
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/EmbeddedJsonContent.php
@@ -0,0 +1,94 @@
+message = array_key_exists('message', $data) ? $data['message'] : $this->message;
+ }
+ }
+
+ /**
+ * Gets message.
+ *
+ * @return array|null
+ */
+ public function getMessage(): ?array
+ {
+ return $this->message;
+ }
+
+ /**
+ * Sets message.
+ *
+ * @param array|null $message
+ *
+ * @return $this
+ */
+ public function setMessage(?array $message = null): self
+ {
+ $this->message = $message;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/edxl/ExplicitAddress.php b/generator_php-symfony/package/src/Model/edxl/ExplicitAddress.php
new file mode 100644
index 0000000000..506ed20d18
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/ExplicitAddress.php
@@ -0,0 +1,131 @@
+explicitAddressScheme = array_key_exists('explicitAddressScheme', $data) ? $data['explicitAddressScheme'] : $this->explicitAddressScheme;
+ $this->explicitAddressValue = array_key_exists('explicitAddressValue', $data) ? $data['explicitAddressValue'] : $this->explicitAddressValue;
+ }
+ }
+
+ /**
+ * Gets explicitAddressScheme.
+ *
+ * @return string|null
+ */
+ public function getExplicitAddressScheme(): ?string
+ {
+ return $this->explicitAddressScheme;
+ }
+
+ /**
+ * Sets explicitAddressScheme.
+ *
+ * @param string|null $explicitAddressScheme
+ *
+ * @return $this
+ */
+ public function setExplicitAddressScheme(?string $explicitAddressScheme): self
+ {
+ $this->explicitAddressScheme = $explicitAddressScheme;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets explicitAddressValue.
+ *
+ * @return string|null
+ */
+ public function getExplicitAddressValue(): ?string
+ {
+ return $this->explicitAddressValue;
+ }
+
+ /**
+ * Sets explicitAddressValue.
+ *
+ * @param string|null $explicitAddressValue
+ *
+ * @return $this
+ */
+ public function setExplicitAddressValue(?string $explicitAddressValue): self
+ {
+ $this->explicitAddressValue = $explicitAddressValue;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/edxl/JsonContent.php b/generator_php-symfony/package/src/Model/edxl/JsonContent.php
new file mode 100644
index 0000000000..3852bf312e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/edxl/JsonContent.php
@@ -0,0 +1,93 @@
+embeddedJsonContent = array_key_exists('embeddedJsonContent', $data) ? $data['embeddedJsonContent'] : $this->embeddedJsonContent;
+ }
+ }
+
+ /**
+ * Gets embeddedJsonContent.
+ *
+ * @return EmbeddedJsonContent|null
+ */
+ public function getEmbeddedJsonContent(): ?EmbeddedJsonContent
+ {
+ return $this->embeddedJsonContent;
+ }
+
+ /**
+ * Sets embeddedJsonContent.
+ *
+ * @param EmbeddedJsonContent|null $embeddedJsonContent
+ *
+ * @return $this
+ */
+ public function setEmbeddedJsonContent(?EmbeddedJsonContent $embeddedJsonContent = null): self
+ {
+ $this->embeddedJsonContent = $embeddedJsonContent;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Casualties.php b/generator_php-symfony/package/src/Model/emsi/Casualties.php
new file mode 100644
index 0000000000..4bf2be3339
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Casualties.php
@@ -0,0 +1,363 @@
+cONTEXT = array_key_exists('cONTEXT', $data) ? $data['cONTEXT'] : $this->cONTEXT;
+ $this->dATIME = array_key_exists('dATIME', $data) ? $data['dATIME'] : $this->dATIME;
+ $this->dECONT = array_key_exists('dECONT', $data) ? $data['dECONT'] : $this->dECONT;
+ $this->tRIAGERED = array_key_exists('tRIAGERED', $data) ? $data['tRIAGERED'] : $this->tRIAGERED;
+ $this->tRIAGEYELLOW = array_key_exists('tRIAGEYELLOW', $data) ? $data['tRIAGEYELLOW'] : $this->tRIAGEYELLOW;
+ $this->tRIAGEGREEN = array_key_exists('tRIAGEGREEN', $data) ? $data['tRIAGEGREEN'] : $this->tRIAGEGREEN;
+ $this->tRIAGEBLACK = array_key_exists('tRIAGEBLACK', $data) ? $data['tRIAGEBLACK'] : $this->tRIAGEBLACK;
+ $this->mISSING = array_key_exists('mISSING', $data) ? $data['mISSING'] : $this->mISSING;
+ }
+ }
+
+ /**
+ * Gets cONTEXT.
+ *
+ * @return string|null
+ */
+ public function getCONTEXT(): ?string
+ {
+ return $this->cONTEXT;
+ }
+
+ /**
+ * Sets cONTEXT.
+ *
+ * @param string|null $cONTEXT Le champ doit ĂȘtre renseignĂ© mais peut ne pas ĂȘtre interprĂ©tĂ©
+ *
+ * @return $this
+ */
+ public function setCONTEXT(?string $cONTEXT): self
+ {
+ $this->cONTEXT = $cONTEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dATIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getDATIME(): ?\DateTime
+ {
+ return $this->dATIME;
+ }
+
+ /**
+ * Sets dATIME.
+ *
+ * @param \DateTime|null $dATIME Optionnel
+ *
+ * @return $this
+ */
+ public function setDATIME(?\DateTime $dATIME = null): self
+ {
+ $this->dATIME = $dATIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dECONT.
+ *
+ * @return int|null
+ */
+ public function getDECONT(): ?int
+ {
+ return $this->dECONT;
+ }
+
+ /**
+ * Sets dECONT.
+ *
+ * @param int|null $dECONT Optionnel
+ *
+ * @return $this
+ */
+ public function setDECONT(?int $dECONT = null): self
+ {
+ $this->dECONT = $dECONT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tRIAGERED.
+ *
+ * @return int|null
+ */
+ public function getTRIAGERED(): ?int
+ {
+ return $this->tRIAGERED;
+ }
+
+ /**
+ * Sets tRIAGERED.
+ *
+ * @param int|null $tRIAGERED Optionnel, Triage victime au sens EMSI
+ *
+ * @return $this
+ */
+ public function setTRIAGERED(?int $tRIAGERED = null): self
+ {
+ $this->tRIAGERED = $tRIAGERED;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tRIAGEYELLOW.
+ *
+ * @return int|null
+ */
+ public function getTRIAGEYELLOW(): ?int
+ {
+ return $this->tRIAGEYELLOW;
+ }
+
+ /**
+ * Sets tRIAGEYELLOW.
+ *
+ * @param int|null $tRIAGEYELLOW Optionnel
+ *
+ * @return $this
+ */
+ public function setTRIAGEYELLOW(?int $tRIAGEYELLOW = null): self
+ {
+ $this->tRIAGEYELLOW = $tRIAGEYELLOW;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tRIAGEGREEN.
+ *
+ * @return int|null
+ */
+ public function getTRIAGEGREEN(): ?int
+ {
+ return $this->tRIAGEGREEN;
+ }
+
+ /**
+ * Sets tRIAGEGREEN.
+ *
+ * @param int|null $tRIAGEGREEN Optionnel
+ *
+ * @return $this
+ */
+ public function setTRIAGEGREEN(?int $tRIAGEGREEN = null): self
+ {
+ $this->tRIAGEGREEN = $tRIAGEGREEN;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tRIAGEBLACK.
+ *
+ * @return int|null
+ */
+ public function getTRIAGEBLACK(): ?int
+ {
+ return $this->tRIAGEBLACK;
+ }
+
+ /**
+ * Sets tRIAGEBLACK.
+ *
+ * @param int|null $tRIAGEBLACK Optionnel
+ *
+ * @return $this
+ */
+ public function setTRIAGEBLACK(?int $tRIAGEBLACK = null): self
+ {
+ $this->tRIAGEBLACK = $tRIAGEBLACK;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mISSING.
+ *
+ * @return int|null
+ */
+ public function getMISSING(): ?int
+ {
+ return $this->mISSING;
+ }
+
+ /**
+ * Sets mISSING.
+ *
+ * @param int|null $mISSING Optionnel
+ *
+ * @return $this
+ */
+ public function setMISSING(?int $mISSING = null): self
+ {
+ $this->mISSING = $mISSING;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Contact.php b/generator_php-symfony/package/src/Model/emsi/Contact.php
new file mode 100644
index 0000000000..0a7f3f34c5
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Contact.php
@@ -0,0 +1,136 @@
+tYPE = array_key_exists('tYPE', $data) ? $data['tYPE'] : $this->tYPE;
+ $this->dETAIL = array_key_exists('dETAIL', $data) ? $data['dETAIL'] : $this->dETAIL;
+ }
+ }
+
+ /**
+ * Gets tYPE.
+ *
+ * @return string|null
+ */
+ public function getTYPE(): ?string
+ {
+ return $this->tYPE;
+ }
+
+ /**
+ * Sets tYPE.
+ *
+ * @param string|null $tYPE Type de contact, voir énumération associée 1. PMRADD (si RFGI disponible) 2. PHNADD pour téléphonie
+ *
+ * @return $this
+ */
+ public function setTYPE(?string $tYPE): self
+ {
+ $this->tYPE = $tYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dETAIL.
+ *
+ * @return string|null
+ */
+ public function getDETAIL(): ?string
+ {
+ return $this->dETAIL;
+ }
+
+ /**
+ * Sets dETAIL.
+ *
+ * @param string|null $dETAIL 1. RFGI du moyen NEXSIS (si RFGI disponible) 2. Numéro de téléphone
+ *
+ * @return $this
+ */
+ public function setDETAIL(?string $dETAIL): self
+ {
+ $this->dETAIL = $dETAIL;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Context.php b/generator_php-symfony/package/src/Model/emsi/Context.php
new file mode 100644
index 0000000000..3e68b8a56e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Context.php
@@ -0,0 +1,482 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Link"),
+ ])]
+ protected ?array $lINK = null;
+
+ /**
+ * A valoriser avec la valeur constante \"OPR\" dans le cadre d'un message EMSI, incluant une mission OPG
+ *
+ * @var string|null
+ * @SerializedName("LEVEL")
+ * @Type("string")
+ */
+ #[Assert\Choice(['STRTGC', 'OPR', 'TACTCL'])]
+ #[Assert\Type("string")]
+ protected ?string $lEVEL = null;
+
+ /**
+ * Optionnel Dans NexSIS ; Les messages transmis par NexSIS auront un champ valorisĂ© avec systĂ©matiquement le mĂȘme code: \"RESTRC\"=restricted Les LRM doivent Ă©galement renseigner la valeur \"RESTRC\"
+ *
+ * @var string|null
+ * @SerializedName("SECLASS")
+ * @Type("string")
+ */
+ #[Assert\Choice(['CONFID', 'RESTRC', 'SECRET', 'TOPSRT', 'UNCLAS', 'UNMARK'])]
+ #[Assert\Type("string")]
+ protected ?string $sECLASS = null;
+
+ /**
+ * Texte libre, optionnel Dans NexSIS; Fonction de l'événement générateur RG 1 : la valeur de <context><freetext> reste à 'Création d'un événement opérationnel EMSI' & version & 'suite à réception d'une affaire*' dans le cadre de la création d'une opération commune (conforme RG 2 de NEXSIS-6618) RG 3 : les événements générateurs sont ceux définis au sein de NEXSIS-6619 RG 1 de traçabilité ( input = <Evenement à l'origine> = CREATION_OPERATION / MAJ_MODIFICATION_ETAT_OPERATION / AJOUT_RESSOURCE / RETRAIT_RESSOURCE / MAJ_ETAT_SITUATION_RESSOURCE / MAJ_LOCALISATION_ADRESSE) auxquels seront ajoutés les éventuels événements à venir.
+ *
+ * @var string|null
+ * @SerializedName("FREETEXT")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $fREETEXT = null;
+
+ /**
+ * @var Origin|null
+ * @SerializedName("ORIGIN")
+ * @Type("Hubsante\Model\emsi\Origin")
+ */
+ #[Assert\Type("Hubsante\Model\emsi\Origin")]
+ protected ?Origin $oRIGIN = null;
+
+ /**
+ * @var ExternalInfo[]|null
+ * @SerializedName("EXTERNAL_INFO")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\ExternalInfo"),
+ ])]
+ protected ?array $eXTERNALINFO = null;
+
+ /**
+ * Niveau d'urgence pour l'affaire en cours Dans le cadre des échanges LRM-NexSIS, optionnel
+ *
+ * @var string|null
+ * @SerializedName("URGENCY")
+ * @Type("string")
+ */
+ #[Assert\Choice(['URGENT', 'NOT_URGENT'])]
+ #[Assert\Type("string")]
+ protected ?string $uRGENCY = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->iD = array_key_exists('iD', $data) ? $data['iD'] : $this->iD;
+ $this->mODE = array_key_exists('mODE', $data) ? $data['mODE'] : $this->mODE;
+ $this->mSGTYPE = array_key_exists('mSGTYPE', $data) ? $data['mSGTYPE'] : $this->mSGTYPE;
+ $this->cREATION = array_key_exists('cREATION', $data) ? $data['cREATION'] : $this->cREATION;
+ $this->lINK = array_key_exists('lINK', $data) ? $data['lINK'] : $this->lINK;
+ $this->lEVEL = array_key_exists('lEVEL', $data) ? $data['lEVEL'] : $this->lEVEL;
+ $this->sECLASS = array_key_exists('sECLASS', $data) ? $data['sECLASS'] : $this->sECLASS;
+ $this->fREETEXT = array_key_exists('fREETEXT', $data) ? $data['fREETEXT'] : $this->fREETEXT;
+ $this->oRIGIN = array_key_exists('oRIGIN', $data) ? $data['oRIGIN'] : $this->oRIGIN;
+ $this->eXTERNALINFO = array_key_exists('eXTERNALINFO', $data) ? $data['eXTERNALINFO'] : $this->eXTERNALINFO;
+ $this->uRGENCY = array_key_exists('uRGENCY', $data) ? $data['uRGENCY'] : $this->uRGENCY;
+ }
+ }
+
+ /**
+ * Gets iD.
+ *
+ * @return string|null
+ */
+ public function getID(): ?string
+ {
+ return $this->iD;
+ }
+
+ /**
+ * Sets iD.
+ *
+ * @param string|null $iD A constituer par le rĂ©dacteur du prĂ©sent EMSI pour ĂȘtre unique, il est prĂ©conisĂ© de reprendre la valeur du champ messageId de l'entĂȘte RC-DE.
+ *
+ * @return $this
+ */
+ public function setID(?string $iD): self
+ {
+ $this->iD = $iD;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mODE.
+ *
+ * @return string|null
+ */
+ public function getMODE(): ?string
+ {
+ return $this->mODE;
+ }
+
+ /**
+ * Sets mODE.
+ *
+ * @param string|null $mODE Valeur constante dans le cadre des échanges LRM-NexSIS : ACTUAL
+ *
+ * @return $this
+ */
+ public function setMODE(?string $mODE): self
+ {
+ $this->mODE = $mODE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mSGTYPE.
+ *
+ * @return string|null
+ */
+ public function getMSGTYPE(): ?string
+ {
+ return $this->mSGTYPE;
+ }
+
+ /**
+ * Sets mSGTYPE.
+ *
+ * @param string|null $mSGTYPE - A valoriser avec la valeur \"ALERT\" lors du premier Ă©change entre systĂšmes. - A valoriser avec la valeur constante \"UPDATE\" ensuite. Peut ne pas ĂȘtre interprĂ©tĂ© par les LRM.
+ *
+ * @return $this
+ */
+ public function setMSGTYPE(?string $mSGTYPE): self
+ {
+ $this->mSGTYPE = $mSGTYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cREATION.
+ *
+ * @return \DateTime|null
+ */
+ public function getCREATION(): ?\DateTime
+ {
+ return $this->cREATION;
+ }
+
+ /**
+ * Sets cREATION.
+ *
+ * @param \DateTime|null $cREATION Obligatoire dans le cadre d'une demande de concours, contient la date de crĂ©ation de la demande de concours dans le systĂšme du partenaire requĂ©rant. A valoriser avec le mĂȘme horaire que dateTimeSent dans le message RC-DE associĂ©. Dans le cadre d'une demande de concours, obligatoire. Ce champ est valorisĂ©e avec l'heure de crĂ©ation de la demande de concours chez le partenaire emetteur. L'heure d'envoi du message peut ĂȘtre obtenue via l'enveloppe EDXL-DE (se rĂ©fĂ©rer au DST)
+ *
+ * @return $this
+ */
+ public function setCREATION(?\DateTime $cREATION = null): self
+ {
+ $this->cREATION = $cREATION;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lINK.
+ *
+ * @return Link[]|null
+ */
+ public function getLINK(): ?array
+ {
+ return $this->lINK;
+ }
+
+ /**
+ * Sets lINK.
+ *
+ * @param Link[]|null $lINK
+ *
+ * @return $this
+ */
+ public function setLINK(?array $lINK = null): self
+ {
+ $this->lINK = $lINK;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lEVEL.
+ *
+ * @return string|null
+ */
+ public function getLEVEL(): ?string
+ {
+ return $this->lEVEL;
+ }
+
+ /**
+ * Sets lEVEL.
+ *
+ * @param string|null $lEVEL A valoriser avec la valeur constante \"OPR\" dans le cadre d'un message EMSI, incluant une mission OPG
+ *
+ * @return $this
+ */
+ public function setLEVEL(?string $lEVEL = null): self
+ {
+ $this->lEVEL = $lEVEL;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sECLASS.
+ *
+ * @return string|null
+ */
+ public function getSECLASS(): ?string
+ {
+ return $this->sECLASS;
+ }
+
+ /**
+ * Sets sECLASS.
+ *
+ * @param string|null $sECLASS Optionnel Dans NexSIS ; Les messages transmis par NexSIS auront un champ valorisĂ© avec systĂ©matiquement le mĂȘme code: \"RESTRC\"=restricted Les LRM doivent Ă©galement renseigner la valeur \"RESTRC\"
+ *
+ * @return $this
+ */
+ public function setSECLASS(?string $sECLASS = null): self
+ {
+ $this->sECLASS = $sECLASS;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets fREETEXT.
+ *
+ * @return string|null
+ */
+ public function getFREETEXT(): ?string
+ {
+ return $this->fREETEXT;
+ }
+
+ /**
+ * Sets fREETEXT.
+ *
+ * @param string|null $fREETEXT Texte libre, optionnel Dans NexSIS; Fonction de l'événement générateur RG 1 : la valeur de reste à 'Création d'un événement opérationnel EMSI' & version & 'suite à réception d'une affaire*' dans le cadre de la création d'une opération commune (conforme RG 2 de NEXSIS-6618) RG 3 : les événements générateurs sont ceux définis au sein de NEXSIS-6619 RG 1 de traçabilité ( input = = CREATION_OPERATION / MAJ_MODIFICATION_ETAT_OPERATION / AJOUT_RESSOURCE / RETRAIT_RESSOURCE / MAJ_ETAT_SITUATION_RESSOURCE / MAJ_LOCALISATION_ADRESSE) auxquels seront ajoutés les éventuels événements à venir.
+ *
+ * @return $this
+ */
+ public function setFREETEXT(?string $fREETEXT = null): self
+ {
+ $this->fREETEXT = $fREETEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets oRIGIN.
+ *
+ * @return Origin|null
+ */
+ public function getORIGIN(): ?Origin
+ {
+ return $this->oRIGIN;
+ }
+
+ /**
+ * Sets oRIGIN.
+ *
+ * @param Origin|null $oRIGIN
+ *
+ * @return $this
+ */
+ public function setORIGIN(?Origin $oRIGIN = null): self
+ {
+ $this->oRIGIN = $oRIGIN;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eXTERNALINFO.
+ *
+ * @return ExternalInfo[]|null
+ */
+ public function getEXTERNALINFO(): ?array
+ {
+ return $this->eXTERNALINFO;
+ }
+
+ /**
+ * Sets eXTERNALINFO.
+ *
+ * @param ExternalInfo[]|null $eXTERNALINFO
+ *
+ * @return $this
+ */
+ public function setEXTERNALINFO(?array $eXTERNALINFO = null): self
+ {
+ $this->eXTERNALINFO = $eXTERNALINFO;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uRGENCY.
+ *
+ * @return string|null
+ */
+ public function getURGENCY(): ?string
+ {
+ return $this->uRGENCY;
+ }
+
+ /**
+ * Sets uRGENCY.
+ *
+ * @param string|null $uRGENCY Niveau d'urgence pour l'affaire en cours Dans le cadre des échanges LRM-NexSIS, optionnel
+ *
+ * @return $this
+ */
+ public function setURGENCY(?string $uRGENCY = null): self
+ {
+ $this->uRGENCY = $uRGENCY;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Coord.php b/generator_php-symfony/package/src/Model/emsi/Coord.php
new file mode 100644
index 0000000000..f29b20239a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Coord.php
@@ -0,0 +1,173 @@
+lAT = array_key_exists('lAT', $data) ? $data['lAT'] : $this->lAT;
+ $this->lONG = array_key_exists('lONG', $data) ? $data['lONG'] : $this->lONG;
+ $this->hEIGHT = array_key_exists('hEIGHT', $data) ? $data['hEIGHT'] : $this->hEIGHT;
+ }
+ }
+
+ /**
+ * Gets lAT.
+ *
+ * @return float|null
+ */
+ public function getLAT(): ?float
+ {
+ return $this->lAT;
+ }
+
+ /**
+ * Sets lAT.
+ *
+ * @param float|null $lAT derniĂšre coordonnĂ©e x connue de la ressource, entre â90 and +90
+ *
+ * @return $this
+ */
+ public function setLAT(?float $lAT): self
+ {
+ $this->lAT = $lAT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lONG.
+ *
+ * @return float|null
+ */
+ public function getLONG(): ?float
+ {
+ return $this->lONG;
+ }
+
+ /**
+ * Sets lONG.
+ *
+ * @param float|null $lONG Optionnel. Dans le cas oĂč aucun LOC_ID n'est transfĂ©rĂ©, permet de localiser le lieu d'intervention souhaitĂ© derniĂšre coordonnĂ©e y connue de la ressource entre â180 and +180
+ *
+ * @return $this
+ */
+ public function setLONG(?float $lONG): self
+ {
+ $this->lONG = $lONG;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets hEIGHT.
+ *
+ * @return float|null
+ */
+ public function getHEIGHT(): ?float
+ {
+ return $this->hEIGHT;
+ }
+
+ /**
+ * Sets hEIGHT.
+ *
+ * @param float|null $hEIGHT Optionnel. Dans le cas oĂč aucun LOC_ID n'est transfĂ©rĂ©, permet de localiser le lieu d'intervention souhaitĂ© derniĂšre coordonnĂ©e z connue de la ressource, en mĂštres sans bornes
+ *
+ * @return $this
+ */
+ public function setHEIGHT(?float $hEIGHT = null): self
+ {
+ $this->hEIGHT = $hEIGHT;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Egeo.php b/generator_php-symfony/package/src/Model/emsi/Egeo.php
new file mode 100644
index 0000000000..8734a979c8
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Egeo.php
@@ -0,0 +1,250 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Choice(['HUM', 'ICY', 'TDS', 'TMP', 'VIS', 'WDS', 'WIN', 'HUM/CORECT', 'HUM/DRZLE', 'HUM/FOG', 'HUM/RAIN', 'HUM/RAINSR', 'HUM/THSTRN', 'ICY/BLWSNW', 'ICY/CLRICE', 'ICY/CORECT', 'ICY/FDRZLE', 'ICY/FRAIN', 'ICY/FRZFOG', 'ICY/HAIL', 'ICY/ICECRY', 'ICY/ICEPLT', 'ICY/MIXICE', 'ICY/RIMICE', 'ICY/SLEET', 'ICY/SNOW', 'ICY/SNWGRN', 'ICY/SNWSHR', 'TDS/CORECT', 'TDS/LGTNNG', 'TDS/THST', 'VIS/CORECT', 'VIS/HAZE', 'VIS/SMOKE', 'WIN/CORECT', 'WIN/CYCL', 'WIN/DSTDVL', 'WIN/DSTSND', 'WIN/DSTSTR', 'WIN/FNLCLD', 'WIN/HURR', 'WIN/SNDSTR', 'WIN/STORM', 'WIN/TORN', 'WIN/TRST', 'WIN/TYPH', 'WIN/WHIR', 'WIN/WTRSPT']),
+ ])]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $wEATHER = null;
+
+ /**
+ * Optionnel La localisation de l'affaire est transmise en amont dans un message RC-EDA et le lieu souhaité pour l'intervention est systématiquement reprécisé dans un objet MISSION
+ *
+ * @var string|null
+ * @SerializedName("FREETEXT")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $fREETEXT = null;
+
+ /**
+ * @var Position|null
+ * @SerializedName("POSITION")
+ * @Type("Hubsante\Model\emsi\Position")
+ */
+ #[Assert\Type("Hubsante\Model\emsi\Position")]
+ protected ?Position $pOSITION = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->dATIME = array_key_exists('dATIME', $data) ? $data['dATIME'] : $this->dATIME;
+ $this->tYPE = array_key_exists('tYPE', $data) ? $data['tYPE'] : $this->tYPE;
+ $this->wEATHER = array_key_exists('wEATHER', $data) ? $data['wEATHER'] : $this->wEATHER;
+ $this->fREETEXT = array_key_exists('fREETEXT', $data) ? $data['fREETEXT'] : $this->fREETEXT;
+ $this->pOSITION = array_key_exists('pOSITION', $data) ? $data['pOSITION'] : $this->pOSITION;
+ }
+ }
+
+ /**
+ * Gets dATIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getDATIME(): ?\DateTime
+ {
+ return $this->dATIME;
+ }
+
+ /**
+ * Sets dATIME.
+ *
+ * @param \DateTime|null $dATIME Optionnel La localisation de l'affaire est transmise en amont dans un message RC-EDA et le lieu souhaité pour l'intervention est systématiquement reprécisé dans un objet MISSION
+ *
+ * @return $this
+ */
+ public function setDATIME(?\DateTime $dATIME = null): self
+ {
+ $this->dATIME = $dATIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tYPE.
+ *
+ * @return string|null
+ */
+ public function getTYPE(): ?string
+ {
+ return $this->tYPE;
+ }
+
+ /**
+ * Sets tYPE.
+ *
+ * @param string|null $tYPE Optionnel La localisation de l'affaire est transmise en amont dans un message RC-EDA et le lieu souhaitĂ© pour l'intervention est systĂ©matiquement reprĂ©cisĂ© dans un objet MISSION. A constituer depuis ref_mapping_EMSI_EVENT_EGEO_TYPE_NEXSIS_ /!\\ plusieurs champs NEXSIS /!\\ plusieurs valeurs par champs d'oĂč un groupe Ă crĂ©er par type diffĂ©rents
+ *
+ * @return $this
+ */
+ public function setTYPE(?string $tYPE = null): self
+ {
+ $this->tYPE = $tYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets wEATHER.
+ *
+ * @return string[]|null
+ */
+ public function getWEATHER(): ?array
+ {
+ return $this->wEATHER;
+ }
+
+ /**
+ * Sets wEATHER.
+ *
+ * @param string[]|null $wEATHER
+ *
+ * @return $this
+ */
+ public function setWEATHER(?array $wEATHER = null): self
+ {
+ $this->wEATHER = $wEATHER;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets fREETEXT.
+ *
+ * @return string|null
+ */
+ public function getFREETEXT(): ?string
+ {
+ return $this->fREETEXT;
+ }
+
+ /**
+ * Sets fREETEXT.
+ *
+ * @param string|null $fREETEXT Optionnel La localisation de l'affaire est transmise en amont dans un message RC-EDA et le lieu souhaité pour l'intervention est systématiquement reprécisé dans un objet MISSION
+ *
+ * @return $this
+ */
+ public function setFREETEXT(?string $fREETEXT = null): self
+ {
+ $this->fREETEXT = $fREETEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets pOSITION.
+ *
+ * @return Position|null
+ */
+ public function getPOSITION(): ?Position
+ {
+ return $this->pOSITION;
+ }
+
+ /**
+ * Sets pOSITION.
+ *
+ * @param Position|null $pOSITION
+ *
+ * @return $this
+ */
+ public function setPOSITION(?Position $pOSITION = null): self
+ {
+ $this->pOSITION = $pOSITION;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Emsi.php b/generator_php-symfony/package/src/Model/emsi/Emsi.php
new file mode 100644
index 0000000000..80fb4739c4
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Emsi.php
@@ -0,0 +1,209 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Mission"),
+ ])]
+ protected ?array $mISSION = null;
+
+ /**
+ * @var Resource[]|null
+ * @SerializedName("RESOURCE")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Resource"),
+ ])]
+ protected ?array $rESOURCE = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->cONTEXT = array_key_exists('cONTEXT', $data) ? $data['cONTEXT'] : $this->cONTEXT;
+ $this->eVENT = array_key_exists('eVENT', $data) ? $data['eVENT'] : $this->eVENT;
+ $this->mISSION = array_key_exists('mISSION', $data) ? $data['mISSION'] : $this->mISSION;
+ $this->rESOURCE = array_key_exists('rESOURCE', $data) ? $data['rESOURCE'] : $this->rESOURCE;
+ }
+ }
+
+ /**
+ * Gets cONTEXT.
+ *
+ * @return Context|null
+ */
+ public function getCONTEXT(): ?Context
+ {
+ return $this->cONTEXT;
+ }
+
+ /**
+ * Sets cONTEXT.
+ *
+ * @param Context|null $cONTEXT
+ *
+ * @return $this
+ */
+ public function setCONTEXT(?Context $cONTEXT): self
+ {
+ $this->cONTEXT = $cONTEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eVENT.
+ *
+ * @return Event|null
+ */
+ public function getEVENT(): ?Event
+ {
+ return $this->eVENT;
+ }
+
+ /**
+ * Sets eVENT.
+ *
+ * @param Event|null $eVENT
+ *
+ * @return $this
+ */
+ public function setEVENT(?Event $eVENT): self
+ {
+ $this->eVENT = $eVENT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mISSION.
+ *
+ * @return Mission[]|null
+ */
+ public function getMISSION(): ?array
+ {
+ return $this->mISSION;
+ }
+
+ /**
+ * Sets mISSION.
+ *
+ * @param Mission[]|null $mISSION
+ *
+ * @return $this
+ */
+ public function setMISSION(?array $mISSION = null): self
+ {
+ $this->mISSION = $mISSION;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets rESOURCE.
+ *
+ * @return Resource[]|null
+ */
+ public function getRESOURCE(): ?array
+ {
+ return $this->rESOURCE;
+ }
+
+ /**
+ * Sets rESOURCE.
+ *
+ * @param Resource[]|null $rESOURCE
+ *
+ * @return $this
+ */
+ public function setRESOURCE(?array $rESOURCE = null): self
+ {
+ $this->rESOURCE = $rESOURCE;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/EmsiWrapper.php b/generator_php-symfony/package/src/Model/emsi/EmsiWrapper.php
new file mode 100644
index 0000000000..576e79ccee
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/EmsiWrapper.php
@@ -0,0 +1,95 @@
+emsi = array_key_exists('emsi', $data) ? $data['emsi'] : $this->emsi;
+ }
+ }
+
+ /**
+ * Gets emsi.
+ *
+ * @return Emsi|null
+ */
+ public function getEmsi(): ?Emsi
+ {
+ return $this->emsi;
+ }
+
+ /**
+ * Sets emsi.
+ *
+ * @param Emsi|null $emsi
+ *
+ * @return $this
+ */
+ public function setEmsi(?Emsi $emsi): self
+ {
+ $this->emsi = $emsi;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Etype.php b/generator_php-symfony/package/src/Model/emsi/Etype.php
new file mode 100644
index 0000000000..6a775441b3
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Etype.php
@@ -0,0 +1,222 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\All([
+ new Assert\Choice(['ASB', 'ASR', 'EXP', 'FIR', 'FLD', 'GND', 'HLT', 'POL', 'PSW', 'TRP', 'ASB/ABV', 'ASR/ATM', 'ASR/HGT', 'ASR/ICE', 'ASR/MAR', 'ASR/SIL', 'ASR/TRP', 'ASR/UDG', 'ASR/WAT', 'EXP/AER', 'EXP/AMM', 'EXP/BLEVE', 'EXP/CHM', 'EXP/CYL', 'EXP/DST', 'EXP/FRW', 'EXP/GAS', 'EXP/HGHFLM', 'EXP/HPP', 'EXP/IMP', 'EXP/LPG', 'EXP/NUK', 'EXP/PRD', 'EXP/UKN', 'FIR/CLA', 'FIR/CLB', 'FIR/CLC', 'FIR/CLD', 'FIR/UKN', 'FLD/FLS', 'FLD/PLN', 'FLD/TID', 'GND/AVL', 'GND/EQK', 'GND/GEY', 'GND/LDS', 'GND/MUD', 'GND/SUB', 'GND/VUL', 'HLT/EPI', 'HLT/FMN', 'HLT/NDS', 'POL/BIO', 'POL/CHM', 'POL/NUK', 'POL/RAD', 'PSW/ALM', 'PSW/ASY', 'PSW/DEM', 'PSW/IMM', 'PSW/MEV', 'PSW/MIS', 'PSW/PKG', 'PSW/PRO', 'PSW/PRSUIT', 'PSW/RIOT', 'PSW/SUS', 'PSW/WNG', 'TRP/BRK', 'TRP/COL', 'TRP/CRS']),
+ ])]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $cATEGORY = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("ACTOR")
+ * @Type("array")
+ */
+ #[Assert\NotNull]
+ #[Assert\All([
+ new Assert\Choice(['ANI', 'BEV', 'PPL', 'VEH', 'ANI/CON', 'ANI/DEA', 'ANI/DGR', 'ANI/FRM', 'ANI/HRD', 'ANI/INJ', 'ANI/LIV', 'ANI/PET', 'ANI/PRO', 'ANI/SPC', 'ANI/WLD', 'BEV/ASR', 'BEV/IND', 'BEV/NRES', 'BEV/OFF', 'BEV/OTH', 'BEV/RESDW', 'BEV/RESIN', 'BEV/RESINT', 'BEV/RESOTH', 'BEV/SHP', 'PPL/1', 'PPL/ADU', 'PPL/CHD', 'PPL/CNT', 'PPL/DED', 'PPL/EVC', 'PPL/GND', 'PPL/GRP', 'PPL/HST', 'PPL/INT', 'PPL/OTH', 'PPL/PRS', 'PPL/SNS', 'PPL/VIO', 'PPL/VLN', 'PPL/WTN', 'PPL/CHD/BAB', 'PPL/CHD/CHILD', 'PPL/CHD/INF', 'PPL/CHD/YOUTH', 'PPL/GND/FML', 'PPL/GND/MAL', 'PPL/GND/UND', 'PPL/HST/PCF', 'PPL/HST/SUI', 'PPL/HST/THT', 'PPL/HST/WPN', 'PPL/PRS/CST', 'PPL/PRS/ESC', 'PPL/PRS/HGS', 'PPL/SNS/ETH', 'PPL/SNS/FOR', 'PPL/SNS/LAN', 'PPL/SNS/REL', 'PPL/SNS/VIP', 'PPL/VLN/BLD', 'PPL/VLN/DEF', 'PPL/VLN/DSB', 'PPL/VLN/ELD', 'PPL/VLN/INJ', 'PPL/VLN/LDF', 'PPL/VLN/OBS', 'PPL/VLN/PAT', 'PPL/VLN/PGN', 'PPL/VLN/SLFPRS', 'PPL/VLN/UNC', 'VEH/AIR', 'VEH/ANI', 'VEH/BIC', 'VEH/CAR', 'VEH/EMG', 'VEH/MBK', 'VEH/MIL', 'VEH/OTH', 'VEH/TRK', 'VEH/TRN', 'VEH/VES', 'VEH/AIR/ARM', 'VEH/AIR/FLBA', 'VEH/AIR/FRG', 'VEH/AIR/FXBA', 'VEH/AIR/GLD', 'VEH/AIR/HEL', 'VEH/AIR/HVY', 'VEH/AIR/JET', 'VEH/AIR/LGT', 'VEH/AIR/MIL', 'VEH/AIR/ORD', 'VEH/AIR/OTH', 'VEH/AIR/PAS', 'VEH/AIR/PRBA', 'VEH/AIR/PST', 'VEH/AIR/RKT', 'VEH/AIR/SEA', 'VEH/AIR/SNO', 'VEH/AIR/TNK', 'VEH/AIR/UAV', 'VEH/AIR/ULG', 'VEH/OTH/HIL', 'VEH/OTH/SNO', 'VEH/TRK/ART', 'VEH/TRK/EXC', 'VEH/TRK/HZD', 'VEH/TRK/NHZ', 'VEH/TRK/NUK', 'VEH/TRK/REF', 'VEH/TRK/UND', 'VEH/TRN/3RL', 'VEH/TRN/DSL', 'VEH/TRN/HZD', 'VEH/TRN/LOC', 'VEH/TRN/NHZ', 'VEH/TRN/NUK', 'VEH/TRN/OVH', 'VEH/TRN/PAS', 'VEH/TRN/REF', 'VEH/TRN/STM', 'VEH/TRN/TRM', 'VEH/TRN/UDG', 'VEH/TRN/UND', 'VEH/TRN/VIP', 'VEH/TRN/VLT', 'VEH/VES/AMB', 'VEH/VES/BOT', 'VEH/VES/CNO', 'VEH/VES/CRG', 'VEH/VES/DSL', 'VEH/VES/FLO', 'VEH/VES/FRY', 'VEH/VES/HOV', 'VEH/VES/HZD', 'VEH/VES/JSK', 'VEH/VES/LEI', 'VEH/VES/LIS', 'VEH/VES/MIL', 'VEH/VES/MPW', 'VEH/VES/NHZ', 'VEH/VES/NUK', 'VEH/VES/PAS', 'VEH/VES/POL', 'VEH/VES/PTL', 'VEH/VES/RSC', 'VEH/VES/SAI', 'VEH/VES/SBM', 'VEH/VES/SINK', 'VEH/VES/SPC', 'VEH/VES/STE', 'VEH/VES/SUNK', 'VEH/VES/UNM']),
+ ])]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $aCTOR = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("LOCTYPE")
+ * @Type("array")
+ */
+ #[Assert\NotNull]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $lOCTYPE = null;
+
+ /**
+ * Optionnel
+ *
+ * @var string|null
+ * @SerializedName("ENV")
+ * @Type("string")
+ */
+ #[Assert\Choice(['CDIS', 'DIS', 'TER', 'CDIS/RIOT', 'DIS/CBRN', 'DIS/ERTHQK', 'DIS/FIRE', 'DIS/FLOOD', 'DIS/INDHAZ', 'DIS/LNDSLD', 'DIS/PWROUT', 'DIS/RADCNT', 'DIS/SNOW', 'DIS/STCLPS', 'DIS/STORM', 'DIS/TRSPRT', 'DIS/TSNAMI'])]
+ #[Assert\Type("string")]
+ protected ?string $eNV = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->cATEGORY = array_key_exists('cATEGORY', $data) ? $data['cATEGORY'] : $this->cATEGORY;
+ $this->aCTOR = array_key_exists('aCTOR', $data) ? $data['aCTOR'] : $this->aCTOR;
+ $this->lOCTYPE = array_key_exists('lOCTYPE', $data) ? $data['lOCTYPE'] : $this->lOCTYPE;
+ $this->eNV = array_key_exists('eNV', $data) ? $data['eNV'] : $this->eNV;
+ }
+ }
+
+ /**
+ * Gets cATEGORY.
+ *
+ * @return string[]|null
+ */
+ public function getCATEGORY(): ?array
+ {
+ return $this->cATEGORY;
+ }
+
+ /**
+ * Sets cATEGORY.
+ *
+ * @param string[]|null $cATEGORY
+ *
+ * @return $this
+ */
+ public function setCATEGORY(?array $cATEGORY): self
+ {
+ $this->cATEGORY = $cATEGORY;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets aCTOR.
+ *
+ * @return string[]|null
+ */
+ public function getACTOR(): ?array
+ {
+ return $this->aCTOR;
+ }
+
+ /**
+ * Sets aCTOR.
+ *
+ * @param string[]|null $aCTOR
+ *
+ * @return $this
+ */
+ public function setACTOR(?array $aCTOR): self
+ {
+ $this->aCTOR = $aCTOR;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lOCTYPE.
+ *
+ * @return string[]|null
+ */
+ public function getLOCTYPE(): ?array
+ {
+ return $this->lOCTYPE;
+ }
+
+ /**
+ * Sets lOCTYPE.
+ *
+ * @param string[]|null $lOCTYPE
+ *
+ * @return $this
+ */
+ public function setLOCTYPE(?array $lOCTYPE): self
+ {
+ $this->lOCTYPE = $lOCTYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eNV.
+ *
+ * @return string|null
+ */
+ public function getENV(): ?string
+ {
+ return $this->eNV;
+ }
+
+ /**
+ * Sets eNV.
+ *
+ * @param string|null $eNV Optionnel
+ *
+ * @return $this
+ */
+ public function setENV(?string $eNV = null): self
+ {
+ $this->eNV = $eNV;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Evac.php b/generator_php-symfony/package/src/Model/emsi/Evac.php
new file mode 100644
index 0000000000..b71e82cba6
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Evac.php
@@ -0,0 +1,172 @@
+dATIME = array_key_exists('dATIME', $data) ? $data['dATIME'] : $this->dATIME;
+ $this->dISPLACED = array_key_exists('dISPLACED', $data) ? $data['dISPLACED'] : $this->dISPLACED;
+ $this->eVACUATED = array_key_exists('eVACUATED', $data) ? $data['eVACUATED'] : $this->eVACUATED;
+ }
+ }
+
+ /**
+ * Gets dATIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getDATIME(): ?\DateTime
+ {
+ return $this->dATIME;
+ }
+
+ /**
+ * Sets dATIME.
+ *
+ * @param \DateTime|null $dATIME Optionnel
+ *
+ * @return $this
+ */
+ public function setDATIME(?\DateTime $dATIME = null): self
+ {
+ $this->dATIME = $dATIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dISPLACED.
+ *
+ * @return int|null
+ */
+ public function getDISPLACED(): ?int
+ {
+ return $this->dISPLACED;
+ }
+
+ /**
+ * Sets dISPLACED.
+ *
+ * @param int|null $dISPLACED Optionnel
+ *
+ * @return $this
+ */
+ public function setDISPLACED(?int $dISPLACED = null): self
+ {
+ $this->dISPLACED = $dISPLACED;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eVACUATED.
+ *
+ * @return int|null
+ */
+ public function getEVACUATED(): ?int
+ {
+ return $this->eVACUATED;
+ }
+
+ /**
+ * Sets eVACUATED.
+ *
+ * @param int|null $eVACUATED Optionnel
+ *
+ * @return $this
+ */
+ public function setEVACUATED(?int $eVACUATED = null): self
+ {
+ $this->eVACUATED = $eVACUATED;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Event.php b/generator_php-symfony/package/src/Model/emsi/Event.php
new file mode 100644
index 0000000000..6de190e224
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Event.php
@@ -0,0 +1,748 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Reference"),
+ ])]
+ protected ?array $rEFERENCE = null;
+
+ /**
+ * @var Casualties[]|null
+ * @SerializedName("CASUALTIES")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Casualties"),
+ ])]
+ protected ?array $cASUALTIES = null;
+
+ /**
+ * @var Evac[]|null
+ * @SerializedName("EVAC")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Evac"),
+ ])]
+ protected ?array $eVAC = null;
+
+ /**
+ * @var Egeo[]|null
+ * @SerializedName("EGEO")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Egeo"),
+ ])]
+ protected ?array $eGEO = null;
+
+ /**
+ * Optionnel
+ *
+ * @var string|null
+ * @SerializedName("CAUSE")
+ * @Type("string")
+ */
+ #[Assert\Choice(['ACC', 'DEL', 'NAT'])]
+ #[Assert\Type("string")]
+ protected ?string $cAUSE = null;
+
+ /**
+ * Optionnel
+ *
+ * @var string|null
+ * @SerializedName("FREETEXT")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $fREETEXT = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->iD = array_key_exists('iD', $data) ? $data['iD'] : $this->iD;
+ $this->nAME = array_key_exists('nAME', $data) ? $data['nAME'] : $this->nAME;
+ $this->mAINEVENTID = array_key_exists('mAINEVENTID', $data) ? $data['mAINEVENTID'] : $this->mAINEVENTID;
+ $this->eTYPE = array_key_exists('eTYPE', $data) ? $data['eTYPE'] : $this->eTYPE;
+ $this->sOURCE = array_key_exists('sOURCE', $data) ? $data['sOURCE'] : $this->sOURCE;
+ $this->sCALE = array_key_exists('sCALE', $data) ? $data['sCALE'] : $this->sCALE;
+ $this->cERTAINTY = array_key_exists('cERTAINTY', $data) ? $data['cERTAINTY'] : $this->cERTAINTY;
+ $this->dECLDATIME = array_key_exists('dECLDATIME', $data) ? $data['dECLDATIME'] : $this->dECLDATIME;
+ $this->oCCDATIME = array_key_exists('oCCDATIME', $data) ? $data['oCCDATIME'] : $this->oCCDATIME;
+ $this->oBSDATIME = array_key_exists('oBSDATIME', $data) ? $data['oBSDATIME'] : $this->oBSDATIME;
+ $this->sTATUS = array_key_exists('sTATUS', $data) ? $data['sTATUS'] : $this->sTATUS;
+ $this->rISKASSESMENT = array_key_exists('rISKASSESMENT', $data) ? $data['rISKASSESMENT'] : $this->rISKASSESMENT;
+ $this->rEFERENCE = array_key_exists('rEFERENCE', $data) ? $data['rEFERENCE'] : $this->rEFERENCE;
+ $this->cASUALTIES = array_key_exists('cASUALTIES', $data) ? $data['cASUALTIES'] : $this->cASUALTIES;
+ $this->eVAC = array_key_exists('eVAC', $data) ? $data['eVAC'] : $this->eVAC;
+ $this->eGEO = array_key_exists('eGEO', $data) ? $data['eGEO'] : $this->eGEO;
+ $this->cAUSE = array_key_exists('cAUSE', $data) ? $data['cAUSE'] : $this->cAUSE;
+ $this->fREETEXT = array_key_exists('fREETEXT', $data) ? $data['fREETEXT'] : $this->fREETEXT;
+ }
+ }
+
+ /**
+ * Gets iD.
+ *
+ * @return string|null
+ */
+ public function getID(): ?string
+ {
+ return $this->iD;
+ }
+
+ /**
+ * Sets iD.
+ *
+ * @param string|null $iD A renseigner avec l'identifiant local de l'affaire dans le LRM ou NexSIS
+ *
+ * @return $this
+ */
+ public function setID(?string $iD): self
+ {
+ $this->iD = $iD;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nAME.
+ *
+ * @return string|null
+ */
+ public function getNAME(): ?string
+ {
+ return $this->nAME;
+ }
+
+ /**
+ * Sets nAME.
+ *
+ * @param string|null $nAME Optionnel Dans nexSIS; [libelle NF 1 métier] & \" - \" & [libelle TL 1 métier] & \" - \" & [libellé commune]
+ *
+ * @return $this
+ */
+ public function setNAME(?string $nAME = null): self
+ {
+ $this->nAME = $nAME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mAINEVENTID.
+ *
+ * @return string|null
+ */
+ public function getMAINEVENTID(): ?string
+ {
+ return $this->mAINEVENTID;
+ }
+
+ /**
+ * Sets mAINEVENTID.
+ *
+ * @param string|null $mAINEVENTID A renseigner avec l'identifiant de l'organisation (champ organization du message RC-EDA) suivi de l'identifiant local de l'affaire du partenaire requĂ©rant (champ senderCaseId du message RC-EDA). {pays}.{domaine}.{organisation}.{structure interne}*.{unitĂ© fonctionnelle}*.{numĂ©ro de dossier} NB : Si l'initiateur du partage de dossier est le mĂȘme que l'initiateur du message EMSI, l'EVENT.ID = EVENT.MAIN_EVENT_ID
+ *
+ * @return $this
+ */
+ public function setMAINEVENTID(?string $mAINEVENTID = null): self
+ {
+ $this->mAINEVENTID = $mAINEVENTID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eTYPE.
+ *
+ * @return Etype|null
+ */
+ public function getETYPE(): ?Etype
+ {
+ return $this->eTYPE;
+ }
+
+ /**
+ * Sets eTYPE.
+ *
+ * @param Etype|null $eTYPE
+ *
+ * @return $this
+ */
+ public function setETYPE(?Etype $eTYPE = null): self
+ {
+ $this->eTYPE = $eTYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sOURCE.
+ *
+ * @return string|null
+ */
+ public function getSOURCE(): ?string
+ {
+ return $this->sOURCE;
+ }
+
+ /**
+ * Sets sOURCE.
+ *
+ * @param string|null $sOURCE Optionnel
+ *
+ * @return $this
+ */
+ public function setSOURCE(?string $sOURCE = null): self
+ {
+ $this->sOURCE = $sOURCE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sCALE.
+ *
+ * @return string|null
+ */
+ public function getSCALE(): ?string
+ {
+ return $this->sCALE;
+ }
+
+ /**
+ * Sets sCALE.
+ *
+ * @param string|null $sCALE Optionnel, Niveau de criticité de l'opération
+ *
+ * @return $this
+ */
+ public function setSCALE(?string $sCALE = null): self
+ {
+ $this->sCALE = $sCALE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cERTAINTY.
+ *
+ * @return int|null
+ */
+ public function getCERTAINTY(): ?int
+ {
+ return $this->cERTAINTY;
+ }
+
+ /**
+ * Sets cERTAINTY.
+ *
+ * @param int|null $cERTAINTY Prend une valeur entiÚre entre 0 et 100, et décrit à quel point l'alerte associée à l'événement est fiable Optionnel
+ *
+ * @return $this
+ */
+ public function setCERTAINTY(?int $cERTAINTY = null): self
+ {
+ $this->cERTAINTY = $cERTAINTY;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dECLDATIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getDECLDATIME(): ?\DateTime
+ {
+ return $this->dECLDATIME;
+ }
+
+ /**
+ * Sets dECLDATIME.
+ *
+ * @param \DateTime|null $dECLDATIME Dans le cadre d'une demande de concours, ce champ est valorisé avec la date/heure de création de l'affaire ou de l'opération. NexSIS transmettra la date/heure de création de l'opération dans ses systÚmes (qui peut diverger de la date/heure de création de l'affaire)
+ *
+ * @return $this
+ */
+ public function setDECLDATIME(?\DateTime $dECLDATIME = null): self
+ {
+ $this->dECLDATIME = $dECLDATIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets oCCDATIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getOCCDATIME(): ?\DateTime
+ {
+ return $this->oCCDATIME;
+ }
+
+ /**
+ * Sets oCCDATIME.
+ *
+ * @param \DateTime|null $oCCDATIME Dans le cadre d'une demande de concours, ce champ est valorisé avec la date de la premiÚre alerte ou la date évaluée de début de la situation d'urgence. Par exemple : Si un incendie est déclaré est 9h02, il a pu démarré à 8h55 par exemple. NB : temporairement, NexSIS renseignera ce champ avec la date de réception de l'alerte initiale
+ *
+ * @return $this
+ */
+ public function setOCCDATIME(?\DateTime $oCCDATIME = null): self
+ {
+ $this->oCCDATIME = $oCCDATIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets oBSDATIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getOBSDATIME(): ?\DateTime
+ {
+ return $this->oBSDATIME;
+ }
+
+ /**
+ * Sets oBSDATIME.
+ *
+ * @param \DateTime|null $oBSDATIME Ce champ est idéalement à valoriser avec la date/heure à laquelle l'observation de la situation d'urgence de l'affaire la plus récente a été réalisée. NexSIS transmettra la date/heure d'envoi de la demande de concours dans son systÚme. NB : temporairement, NexSIS renseignera ce champ avec la date de réception de l'alerte initiale
+ *
+ * @return $this
+ */
+ public function setOBSDATIME(?\DateTime $oBSDATIME = null): self
+ {
+ $this->oBSDATIME = $oBSDATIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sTATUS.
+ *
+ * @return string|null
+ */
+ public function getSTATUS(): ?string
+ {
+ return $this->sTATUS;
+ }
+
+ /**
+ * Sets sTATUS.
+ *
+ * @param string|null $sTATUS Permet de décrire le status de l'affaire en cours. Ce champ suit une nomenclature EMSI. (COM = event complete, IPR = event in progress, NST = event not started, STOP = STOP = event under control, no need for additional resource) Dans le cadre d'une opération : - si l'opération est encore en cours : rensigner 'IPR', - si le dispatching de moyens est encore en cours ou que seulement des qualifications d'alertes ont été échangées sans aucune décision de régulation 'NST', - si l'opération est en pause/veille : 'STOP' - si le message d'échange opérationnel décrit une fin d'opération, à renseigner avec 'COM' Un message EMSI-EO sans RESSOURCE ni
+ *
+ * @return $this
+ */
+ public function setSTATUS(?string $sTATUS = null): self
+ {
+ $this->sTATUS = $sTATUS;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets rISKASSESMENT.
+ *
+ * @return string|null
+ */
+ public function getRISKASSESMENT(): ?string
+ {
+ return $this->rISKASSESMENT;
+ }
+
+ /**
+ * Sets rISKASSESMENT.
+ *
+ * @param string|null $rISKASSESMENT Optionnel
+ *
+ * @return $this
+ */
+ public function setRISKASSESMENT(?string $rISKASSESMENT = null): self
+ {
+ $this->rISKASSESMENT = $rISKASSESMENT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets rEFERENCE.
+ *
+ * @return Reference[]|null
+ */
+ public function getREFERENCE(): ?array
+ {
+ return $this->rEFERENCE;
+ }
+
+ /**
+ * Sets rEFERENCE.
+ *
+ * @param Reference[]|null $rEFERENCE
+ *
+ * @return $this
+ */
+ public function setREFERENCE(?array $rEFERENCE = null): self
+ {
+ $this->rEFERENCE = $rEFERENCE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cASUALTIES.
+ *
+ * @return Casualties[]|null
+ */
+ public function getCASUALTIES(): ?array
+ {
+ return $this->cASUALTIES;
+ }
+
+ /**
+ * Sets cASUALTIES.
+ *
+ * @param Casualties[]|null $cASUALTIES
+ *
+ * @return $this
+ */
+ public function setCASUALTIES(?array $cASUALTIES = null): self
+ {
+ $this->cASUALTIES = $cASUALTIES;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eVAC.
+ *
+ * @return Evac[]|null
+ */
+ public function getEVAC(): ?array
+ {
+ return $this->eVAC;
+ }
+
+ /**
+ * Sets eVAC.
+ *
+ * @param Evac[]|null $eVAC
+ *
+ * @return $this
+ */
+ public function setEVAC(?array $eVAC = null): self
+ {
+ $this->eVAC = $eVAC;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eGEO.
+ *
+ * @return Egeo[]|null
+ */
+ public function getEGEO(): ?array
+ {
+ return $this->eGEO;
+ }
+
+ /**
+ * Sets eGEO.
+ *
+ * @param Egeo[]|null $eGEO
+ *
+ * @return $this
+ */
+ public function setEGEO(?array $eGEO = null): self
+ {
+ $this->eGEO = $eGEO;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cAUSE.
+ *
+ * @return string|null
+ */
+ public function getCAUSE(): ?string
+ {
+ return $this->cAUSE;
+ }
+
+ /**
+ * Sets cAUSE.
+ *
+ * @param string|null $cAUSE Optionnel
+ *
+ * @return $this
+ */
+ public function setCAUSE(?string $cAUSE = null): self
+ {
+ $this->cAUSE = $cAUSE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets fREETEXT.
+ *
+ * @return string|null
+ */
+ public function getFREETEXT(): ?string
+ {
+ return $this->fREETEXT;
+ }
+
+ /**
+ * Sets fREETEXT.
+ *
+ * @param string|null $fREETEXT Optionnel
+ *
+ * @return $this
+ */
+ public function setFREETEXT(?string $fREETEXT = null): self
+ {
+ $this->fREETEXT = $fREETEXT;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/ExternalInfo.php b/generator_php-symfony/package/src/Model/emsi/ExternalInfo.php
new file mode 100644
index 0000000000..010b7a8e5d
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/ExternalInfo.php
@@ -0,0 +1,173 @@
+fREETEXT = array_key_exists('fREETEXT', $data) ? $data['fREETEXT'] : $this->fREETEXT;
+ $this->uRI = array_key_exists('uRI', $data) ? $data['uRI'] : $this->uRI;
+ $this->tYPE = array_key_exists('tYPE', $data) ? $data['tYPE'] : $this->tYPE;
+ }
+ }
+
+ /**
+ * Gets fREETEXT.
+ *
+ * @return string|null
+ */
+ public function getFREETEXT(): ?string
+ {
+ return $this->fREETEXT;
+ }
+
+ /**
+ * Sets fREETEXT.
+ *
+ * @param string|null $fREETEXT Optionnel
+ *
+ * @return $this
+ */
+ public function setFREETEXT(?string $fREETEXT = null): self
+ {
+ $this->fREETEXT = $fREETEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uRI.
+ *
+ * @return string|null
+ */
+ public function getURI(): ?string
+ {
+ return $this->uRI;
+ }
+
+ /**
+ * Sets uRI.
+ *
+ * @param string|null $uRI Optionnel
+ *
+ * @return $this
+ */
+ public function setURI(?string $uRI): self
+ {
+ $this->uRI = $uRI;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tYPE.
+ *
+ * @return string|null
+ */
+ public function getTYPE(): ?string
+ {
+ return $this->tYPE;
+ }
+
+ /**
+ * Sets tYPE.
+ *
+ * @param string|null $tYPE Optionnel
+ *
+ * @return $this
+ */
+ public function setTYPE(?string $tYPE = null): self
+ {
+ $this->tYPE = $tYPE;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Link.php b/generator_php-symfony/package/src/Model/emsi/Link.php
new file mode 100644
index 0000000000..4c232ac7b0
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Link.php
@@ -0,0 +1,135 @@
+iD = array_key_exists('iD', $data) ? $data['iD'] : $this->iD;
+ $this->lINKROLE = array_key_exists('lINKROLE', $data) ? $data['lINKROLE'] : $this->lINKROLE;
+ }
+ }
+
+ /**
+ * Gets iD.
+ *
+ * @return string|null
+ */
+ public function getID(): ?string
+ {
+ return $this->iD;
+ }
+
+ /**
+ * Sets iD.
+ *
+ * @param string|null $iD A renseigner avec l'identifiant de l'organisation (champ organization du message RC-EDA) suivi de l'identifiant local de l'affaire du partenaire requérant (champ senderCaseId du message RC-EDA). {pays}.{domaine}.{organisation}.{structure interne}*.{unité fonctionnelle}*.{numéro de dossier}
+ *
+ * @return $this
+ */
+ public function setID(?string $iD): self
+ {
+ $this->iD = $iD;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lINKROLE.
+ *
+ * @return string|null
+ */
+ public function getLINKROLE(): ?string
+ {
+ return $this->lINKROLE;
+ }
+
+ /**
+ * Sets lINKROLE.
+ *
+ * @param string|null $lINKROLE Optionnel : à valoriser avec la constante \"SPRSDS\" pour un message EMSI, incluant des missions RDC et/ou OPG et avec le libellé \"ADDSTO\" pour un message EMSI, incluant uniquement qu'une demande de concours (EMSI-DC).
+ *
+ * @return $this
+ */
+ public function setLINKROLE(?string $lINKROLE = null): self
+ {
+ $this->lINKROLE = $lINKROLE;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Mission.php b/generator_php-symfony/package/src/Model/emsi/Mission.php
new file mode 100644
index 0000000000..a25272417a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Mission.php
@@ -0,0 +1,596 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $rESOURCEID = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("PARENT_MISSION_ID")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $pARENTMISSIONID = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("CHILD_MISSION_ID")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $cHILDMISSIONID = null;
+
+ /**
+ * - Dans le cas d'une mission gĂ©nĂ©rique de rĂ©ponse Ă demande de concours, indiquer l'ID de la mission gĂ©nĂ©rique utilisĂ©e pour modĂ©liser la demande de concours - Dans le cas d'une mission dĂ©clenchĂ©e dans le cadre d'une rĂ©ponse Ă demande de concours, l'ID de la mission gĂ©nĂ©rique de rĂ©ponse peut ĂȘtre utilisĂ©e dans ce champ pour indiquer qu'elle est liĂ©e Ă une rĂ©ponse
+ *
+ * @var string|null
+ * @SerializedName("MAIN_MISSION_ID")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $mAINMISSIONID = null;
+
+ /**
+ * @var Position|null
+ * @SerializedName("POSITION")
+ * @Type("Hubsante\Model\emsi\Position")
+ */
+ #[Assert\Type("Hubsante\Model\emsi\Position")]
+ protected ?Position $pOSITION = null;
+
+ /**
+ * Indique une Ă©chelle de prioritĂ© pour la demande de concours. Dans le cadre du standard EMSI, cette Ă©chelle doit ĂȘtre comprise entre 0 et 5. Ce champ peut ne pas ĂȘtre interprĂ©tĂ© ni alimentĂ© par les LRMs. Dans le cadre d'un Ă©change des opĂ©rations, optionnel. Le champ peut ne pas ĂȘtre Ă©mis ni interprĂ©tĂ©.
+ *
+ * @var string|null
+ * @SerializedName("PRIORITY")
+ * @Type("string")
+ */
+ #[Assert\Choice(['0', '1', '2', '3', '4', '5'])]
+ #[Assert\Type("string")]
+ protected ?string $pRIORITY = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->tYPE = array_key_exists('tYPE', $data) ? $data['tYPE'] : $this->tYPE;
+ $this->fREETEXT = array_key_exists('fREETEXT', $data) ? $data['fREETEXT'] : $this->fREETEXT;
+ $this->iD = array_key_exists('iD', $data) ? $data['iD'] : $this->iD;
+ $this->oRGID = array_key_exists('oRGID', $data) ? $data['oRGID'] : $this->oRGID;
+ $this->nAME = array_key_exists('nAME', $data) ? $data['nAME'] : $this->nAME;
+ $this->sTATUS = array_key_exists('sTATUS', $data) ? $data['sTATUS'] : $this->sTATUS;
+ $this->sTARTTIME = array_key_exists('sTARTTIME', $data) ? $data['sTARTTIME'] : $this->sTARTTIME;
+ $this->eNDTIME = array_key_exists('eNDTIME', $data) ? $data['eNDTIME'] : $this->eNDTIME;
+ $this->rESOURCEID = array_key_exists('rESOURCEID', $data) ? $data['rESOURCEID'] : $this->rESOURCEID;
+ $this->pARENTMISSIONID = array_key_exists('pARENTMISSIONID', $data) ? $data['pARENTMISSIONID'] : $this->pARENTMISSIONID;
+ $this->cHILDMISSIONID = array_key_exists('cHILDMISSIONID', $data) ? $data['cHILDMISSIONID'] : $this->cHILDMISSIONID;
+ $this->mAINMISSIONID = array_key_exists('mAINMISSIONID', $data) ? $data['mAINMISSIONID'] : $this->mAINMISSIONID;
+ $this->pOSITION = array_key_exists('pOSITION', $data) ? $data['pOSITION'] : $this->pOSITION;
+ $this->pRIORITY = array_key_exists('pRIORITY', $data) ? $data['pRIORITY'] : $this->pRIORITY;
+ }
+ }
+
+ /**
+ * Gets tYPE.
+ *
+ * @return string|null
+ */
+ public function getTYPE(): ?string
+ {
+ return $this->tYPE;
+ }
+
+ /**
+ * Sets tYPE.
+ *
+ * @param string|null $tYPE Le champ MISSION TYPE permet d'identifier l'effet à obtenir souhaité à partir de la combinaison du code ACTOR et du code TYPE. => La table de transcodage permettant d'identifier les concourants et les effets à obtenir à partir d'un code EMSI est fournie en annexe \"Référentiel Effets à Obtenir - correspondance EMSI\". Dans le cadre d'une réponse à DC : - reprendre le type de la DC si le code réponse choisi est vien \"VALIDE\" Dans le cadre d'une mission décrivant les opérations en cours : - reprendre la nomenclature EMSI pour caractériser la mission en cours.
+ *
+ * @return $this
+ */
+ public function setTYPE(?string $tYPE): self
+ {
+ $this->tYPE = $tYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets fREETEXT.
+ *
+ * @return string|null
+ */
+ public function getFREETEXT(): ?string
+ {
+ return $this->fREETEXT;
+ }
+
+ /**
+ * Sets fREETEXT.
+ *
+ * @param string|null $fREETEXT Contient des commentaires relatifs aux objectifs et moyens sollicitĂ©s dans le cadre de la demande de concours. Les Ă©quipements supplĂ©mentaires souhaitĂ©s ou le nom/ prĂ©nom des patients Ă prendre en charge peuvent ĂȘtre explicitement indiquĂ©s ici.
+ *
+ * @return $this
+ */
+ public function setFREETEXT(?string $fREETEXT = null): self
+ {
+ $this->fREETEXT = $fREETEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets iD.
+ *
+ * @return string|null
+ */
+ public function getID(): ?string
+ {
+ return $this->iD;
+ }
+
+ /**
+ * Sets iD.
+ *
+ * @param string|null $iD Contient un identifiant de demande de concours unique. Cet identifiant sera réutilisable par le partenaire pour répondre à cette demande. Identifiant unique de la mission dans le systÚme du partenaire la conduisant.
+ *
+ * @return $this
+ */
+ public function setID(?string $iD): self
+ {
+ $this->iD = $iD;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets oRGID.
+ *
+ * @return string|null
+ */
+ public function getORGID(): ?string
+ {
+ return $this->oRGID;
+ }
+
+ /**
+ * Sets oRGID.
+ *
+ * @param string|null $oRGID Indique l'organisation du partenaire concernĂ© par la Demande de Concours (voir DSF). Le code CRRA ou le code du SIS peut ĂȘtre utilisĂ©. Indique l'organisation du service rĂ©alisant la mission. Dans le cas d'une rĂ©ponse, c'est l'organisation du concourant qui doit ĂȘtre indiquĂ©e. Se rĂ©fĂ©rer au DSF pour la structure normĂ©e des organisations Le format est le suivant {pays}.{domaine}.{organisation}.{structure interne}*.{unitĂ© fonctionnelle}*.
+ *
+ * @return $this
+ */
+ public function setORGID(?string $oRGID = null): self
+ {
+ $this->oRGID = $oRGID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nAME.
+ *
+ * @return string|null
+ */
+ public function getNAME(): ?string
+ {
+ return $this->nAME;
+ }
+
+ /**
+ * Sets nAME.
+ *
+ * @param string|null $nAME Le nom de la mission est construit Ă partir de l'expression rĂ©guliĂšre suivante : \"#DEMANDE_CONCOURS#\"{libelle_cadre_conventionnel}\"#\"{code_cadre_conventionnel}\"#\" oĂč le code_cadre_conventionnel est issue d'une nomenclature CISU-Cadre Conventionnel (A Venir) NB : ce champ est dĂ©tournĂ© par rapport au standard EMSI pour permettre l'expression d'une demande de concours et indiquer le cadre conventionnel dans lequel elle est effectuĂ©e. Pour une rĂ©ponse Ă demande de concours : - Le nom de la mission est construit Ă partir de l'expression rĂ©guliĂšre suivante : \"#REPONSE_DEMANDE_CONCOURS#\"{code_reponse}\"#\" oĂč le code_reponse peut prendre les valeurs ACCEPTE, REFUS, PARTIELLE, DIVERGENTE - sinon libre
+ *
+ * @return $this
+ */
+ public function setNAME(?string $nAME): self
+ {
+ $this->nAME = $nAME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sTATUS.
+ *
+ * @return string|null
+ */
+ public function getSTATUS(): ?string
+ {
+ return $this->sTATUS;
+ }
+
+ /**
+ * Sets sTATUS.
+ *
+ * @param string|null $sTATUS Les valeurs possibles avec lesquelles valoriser ce champ sont dĂ©taillĂ©es au sein d'une nomenclature EMSI - ABO : mission refusĂ©e (ABOrted) - CANCLD : mission annulĂ©e (CANCeLeD)** - NST : mission non dĂ©butĂ© pour le mĂ©tier (Not STarted) - IPR : mission dĂ©butĂ© pour le mĂ©tier (In PRogress). la valeur IPR peut ĂȘtre suivi d'une valeur numĂ©rique de 00 Ă 100 (IPRnn) spĂ©cifiant le degrĂ© d'avancement de la mission. Ce principe n'est pas retenu au sein de NexSIS qui ne transmettra pas d'indication sur le degrĂ© d'avancement de la mission via ce champ. - PAU : Ă©vĂ©nement arrĂȘtĂ©, en pause pour mĂ©tier, pas de besoin supplĂ©mentaire - COM : Ă©vĂ©nement terminĂ© pour le mĂ©tier (COMplete) Le status de la mission et celui des RESSOURCE associĂ©es doit ĂȘtre cohĂ©rent et transcodable avec un status ANTARES (voir DSF) Dans le cas d'un objet MISSION gĂ©nĂ©rique de rĂ©ponse Ă demande de concours, le champ doit ĂȘtre valorisĂ© Ă \"NST\"
+ *
+ * @return $this
+ */
+ public function setSTATUS(?string $sTATUS): self
+ {
+ $this->sTATUS = $sTATUS;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sTARTTIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getSTARTTIME(): ?\DateTime
+ {
+ return $this->sTARTTIME;
+ }
+
+ /**
+ * Sets sTARTTIME.
+ *
+ * @param \DateTime|null $sTARTTIME - Dans le cadre d'une réponse à Demande de Concours Horraire cible pour l'arrivée sur les lieux décrites (peut diverger de l'horaire demandé) - Dans le cadre d'une mission décrivant les opérations en cours : Horaire effectif de début de la mission
+ *
+ * @return $this
+ */
+ public function setSTARTTIME(?\DateTime $sTARTTIME = null): self
+ {
+ $this->sTARTTIME = $sTARTTIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets eNDTIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getENDTIME(): ?\DateTime
+ {
+ return $this->eNDTIME;
+ }
+
+ /**
+ * Sets eNDTIME.
+ *
+ * @param \DateTime|null $eNDTIME A valoriser selon la catégorie de mission : - Dans le cadre d'une mission de réponse à demande de concours : ne pas renseigner - Dans le cadre d'une mission décrivant les opérations en cours : Si c'est un déplacement, l'heure d'arrivée, si c'est une prise en charge patient/victime, la fin de la prise en charge.
+ *
+ * @return $this
+ */
+ public function setENDTIME(?\DateTime $eNDTIME = null): self
+ {
+ $this->eNDTIME = $eNDTIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets rESOURCEID.
+ *
+ * @return string[]|null
+ */
+ public function getRESOURCEID(): ?array
+ {
+ return $this->rESOURCEID;
+ }
+
+ /**
+ * Sets rESOURCEID.
+ *
+ * @param string[]|null $rESOURCEID
+ *
+ * @return $this
+ */
+ public function setRESOURCEID(?array $rESOURCEID = null): self
+ {
+ $this->rESOURCEID = $rESOURCEID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets pARENTMISSIONID.
+ *
+ * @return string[]|null
+ */
+ public function getPARENTMISSIONID(): ?array
+ {
+ return $this->pARENTMISSIONID;
+ }
+
+ /**
+ * Sets pARENTMISSIONID.
+ *
+ * @param string[]|null $pARENTMISSIONID
+ *
+ * @return $this
+ */
+ public function setPARENTMISSIONID(?array $pARENTMISSIONID = null): self
+ {
+ $this->pARENTMISSIONID = $pARENTMISSIONID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cHILDMISSIONID.
+ *
+ * @return string[]|null
+ */
+ public function getCHILDMISSIONID(): ?array
+ {
+ return $this->cHILDMISSIONID;
+ }
+
+ /**
+ * Sets cHILDMISSIONID.
+ *
+ * @param string[]|null $cHILDMISSIONID
+ *
+ * @return $this
+ */
+ public function setCHILDMISSIONID(?array $cHILDMISSIONID = null): self
+ {
+ $this->cHILDMISSIONID = $cHILDMISSIONID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mAINMISSIONID.
+ *
+ * @return string|null
+ */
+ public function getMAINMISSIONID(): ?string
+ {
+ return $this->mAINMISSIONID;
+ }
+
+ /**
+ * Sets mAINMISSIONID.
+ *
+ * @param string|null $mAINMISSIONID - Dans le cas d'une mission gĂ©nĂ©rique de rĂ©ponse Ă demande de concours, indiquer l'ID de la mission gĂ©nĂ©rique utilisĂ©e pour modĂ©liser la demande de concours - Dans le cas d'une mission dĂ©clenchĂ©e dans le cadre d'une rĂ©ponse Ă demande de concours, l'ID de la mission gĂ©nĂ©rique de rĂ©ponse peut ĂȘtre utilisĂ©e dans ce champ pour indiquer qu'elle est liĂ©e Ă une rĂ©ponse
+ *
+ * @return $this
+ */
+ public function setMAINMISSIONID(?string $mAINMISSIONID = null): self
+ {
+ $this->mAINMISSIONID = $mAINMISSIONID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets pOSITION.
+ *
+ * @return Position|null
+ */
+ public function getPOSITION(): ?Position
+ {
+ return $this->pOSITION;
+ }
+
+ /**
+ * Sets pOSITION.
+ *
+ * @param Position|null $pOSITION
+ *
+ * @return $this
+ */
+ public function setPOSITION(?Position $pOSITION = null): self
+ {
+ $this->pOSITION = $pOSITION;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets pRIORITY.
+ *
+ * @return string|null
+ */
+ public function getPRIORITY(): ?string
+ {
+ return $this->pRIORITY;
+ }
+
+ /**
+ * Sets pRIORITY.
+ *
+ * @param string|null $pRIORITY Indique une Ă©chelle de prioritĂ© pour la demande de concours. Dans le cadre du standard EMSI, cette Ă©chelle doit ĂȘtre comprise entre 0 et 5. Ce champ peut ne pas ĂȘtre interprĂ©tĂ© ni alimentĂ© par les LRMs. Dans le cadre d'un Ă©change des opĂ©rations, optionnel. Le champ peut ne pas ĂȘtre Ă©mis ni interprĂ©tĂ©.
+ *
+ * @return $this
+ */
+ public function setPRIORITY(?string $pRIORITY = null): self
+ {
+ $this->pRIORITY = $pRIORITY;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Origin.php b/generator_php-symfony/package/src/Model/emsi/Origin.php
new file mode 100644
index 0000000000..27c152af74
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Origin.php
@@ -0,0 +1,171 @@
+oRGID = array_key_exists('oRGID', $data) ? $data['oRGID'] : $this->oRGID;
+ $this->uSERID = array_key_exists('uSERID', $data) ? $data['uSERID'] : $this->uSERID;
+ $this->nAME = array_key_exists('nAME', $data) ? $data['nAME'] : $this->nAME;
+ }
+ }
+
+ /**
+ * Gets oRGID.
+ *
+ * @return string|null
+ */
+ public function getORGID(): ?string
+ {
+ return $this->oRGID;
+ }
+
+ /**
+ * Sets oRGID.
+ *
+ * @param string|null $oRGID Optionnel, identifiant du service à l'origine de l'EMSI Se référer au DSF pour la structure normée des organisations Le format est le suivant {pays}.{domaine}.{organisation}.{structure interne}*.{unité fonctionnelle}*.
+ *
+ * @return $this
+ */
+ public function setORGID(?string $oRGID = null): self
+ {
+ $this->oRGID = $oRGID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uSERID.
+ *
+ * @return string|null
+ */
+ public function getUSERID(): ?string
+ {
+ return $this->uSERID;
+ }
+
+ /**
+ * Sets uSERID.
+ *
+ * @param string|null $uSERID Optionnel, identifiant de l'opĂ©rateur du service Ă l'origine de l'EMSI, qui gĂšre l'opĂ©ration. Ce champ peut ĂȘtre diffĂ©rent du calltakerId du message RC-EDA.
+ *
+ * @return $this
+ */
+ public function setUSERID(?string $uSERID = null): self
+ {
+ $this->uSERID = $uSERID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nAME.
+ *
+ * @return string|null
+ */
+ public function getNAME(): ?string
+ {
+ return $this->nAME;
+ }
+
+ /**
+ * Sets nAME.
+ *
+ * @param string|null $nAME Optionnel, A constituer par le rĂ©dacteur pour ĂȘtre intelligible (exemple [structure] [code dĂ©partement]). Ce champ n'est pas normĂ© obligatoirement. Chaque service dĂ©cide de la structure de son nom d'origine.
+ *
+ * @return $this
+ */
+ public function setNAME(?string $nAME = null): self
+ {
+ $this->nAME = $nAME;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Position.php b/generator_php-symfony/package/src/Model/emsi/Position.php
new file mode 100644
index 0000000000..876d54df99
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Position.php
@@ -0,0 +1,323 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Coord"),
+ ])]
+ protected ?array $cOORD = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("ADDRESS")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $aDDRESS = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->lOCID = array_key_exists('lOCID', $data) ? $data['lOCID'] : $this->lOCID;
+ $this->nAME = array_key_exists('nAME', $data) ? $data['nAME'] : $this->nAME;
+ $this->tYPE = array_key_exists('tYPE', $data) ? $data['tYPE'] : $this->tYPE;
+ $this->hEIGHTROLE = array_key_exists('hEIGHTROLE', $data) ? $data['hEIGHTROLE'] : $this->hEIGHTROLE;
+ $this->cOORDSYS = array_key_exists('cOORDSYS', $data) ? $data['cOORDSYS'] : $this->cOORDSYS;
+ $this->cOORD = array_key_exists('cOORD', $data) ? $data['cOORD'] : $this->cOORD;
+ $this->aDDRESS = array_key_exists('aDDRESS', $data) ? $data['aDDRESS'] : $this->aDDRESS;
+ }
+ }
+
+ /**
+ * Gets lOCID.
+ *
+ * @return string|null
+ */
+ public function getLOCID(): ?string
+ {
+ return $this->lOCID;
+ }
+
+ /**
+ * Sets lOCID.
+ *
+ * @param string|null $lOCID Optionnel La localisation de l'affaire est transmise en amont dans un message RC-EDA et le lieu souhaitĂ© pour l'intervention est systĂ©matiquement reprĂ©cisĂ© dans un objet MISSION. Lorsque le lieu d'intervention est identique Ă celle d'une position de l'affaire partagĂ©e dans le message RC-EDA, le champ MISSION.RGEO.POSITION.LOC_ID doit ĂȘtre alimentĂ© valorisĂ© comme le champ eventLocation.locId du message RC-EDA envoyĂ© en amont.
+ *
+ * @return $this
+ */
+ public function setLOCID(?string $lOCID = null): self
+ {
+ $this->lOCID = $lOCID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nAME.
+ *
+ * @return string|null
+ */
+ public function getNAME(): ?string
+ {
+ return $this->nAME;
+ }
+
+ /**
+ * Sets nAME.
+ *
+ * @param string|null $nAME Optionnel, non utilisé par NexSIS nom de lieu
+ *
+ * @return $this
+ */
+ public function setNAME(?string $nAME = null): self
+ {
+ $this->nAME = $nAME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tYPE.
+ *
+ * @return string|null
+ */
+ public function getTYPE(): ?string
+ {
+ return $this->tYPE;
+ }
+
+ /**
+ * Sets tYPE.
+ *
+ * @param string|null $tYPE Optionnel Dans le cadre de l'interface LRM NexSIS, seul le libellĂ© POINT doit obligatoirement ĂȘtre interprĂ©table par les deux partenaires. Cf. Nomenclature EMSI - POSITION pour plus de dĂ©tails
+ *
+ * @return $this
+ */
+ public function setTYPE(?string $tYPE = null): self
+ {
+ $this->tYPE = $tYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets hEIGHTROLE.
+ *
+ * @return string|null
+ */
+ public function getHEIGHTROLE(): ?string
+ {
+ return $this->hEIGHTROLE;
+ }
+
+ /**
+ * Sets hEIGHTROLE.
+ *
+ * @param string|null $hEIGHTROLE Optionnel
+ *
+ * @return $this
+ */
+ public function setHEIGHTROLE(?string $hEIGHTROLE = null): self
+ {
+ $this->hEIGHTROLE = $hEIGHTROLE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cOORDSYS.
+ *
+ * @return string|null
+ */
+ public function getCOORDSYS(): ?string
+ {
+ return $this->cOORDSYS;
+ }
+
+ /**
+ * Sets cOORDSYS.
+ *
+ * @param string|null $cOORDSYS Optionnel
+ *
+ * @return $this
+ */
+ public function setCOORDSYS(?string $cOORDSYS = null): self
+ {
+ $this->cOORDSYS = $cOORDSYS;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cOORD.
+ *
+ * @return Coord[]|null
+ */
+ public function getCOORD(): ?array
+ {
+ return $this->cOORD;
+ }
+
+ /**
+ * Sets cOORD.
+ *
+ * @param Coord[]|null $cOORD
+ *
+ * @return $this
+ */
+ public function setCOORD(?array $cOORD = null): self
+ {
+ $this->cOORD = $cOORD;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets aDDRESS.
+ *
+ * @return string[]|null
+ */
+ public function getADDRESS(): ?array
+ {
+ return $this->aDDRESS;
+ }
+
+ /**
+ * Sets aDDRESS.
+ *
+ * @param string[]|null $aDDRESS
+ *
+ * @return $this
+ */
+ public function setADDRESS(?array $aDDRESS = null): self
+ {
+ $this->aDDRESS = $aDDRESS;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Reference.php b/generator_php-symfony/package/src/Model/emsi/Reference.php
new file mode 100644
index 0000000000..1cd2d444b5
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Reference.php
@@ -0,0 +1,136 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $oTHEREVENTID = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->oRGID = array_key_exists('oRGID', $data) ? $data['oRGID'] : $this->oRGID;
+ $this->oTHEREVENTID = array_key_exists('oTHEREVENTID', $data) ? $data['oTHEREVENTID'] : $this->oTHEREVENTID;
+ }
+ }
+
+ /**
+ * Gets oRGID.
+ *
+ * @return string|null
+ */
+ public function getORGID(): ?string
+ {
+ return $this->oRGID;
+ }
+
+ /**
+ * Sets oRGID.
+ *
+ * @param string|null $oRGID Le format est le suivant {pays}.{domaine}.{organisation}.{structure interne}*.{unitĂ© fonctionnelle}*. NB : ce champ (EVENT.REFERENCE.ORG_ID) ne peut pas ĂȘtre le mĂȘme que le champ CONTEXT.LINK.ID ou EVENT.ID
+ *
+ * @return $this
+ */
+ public function setORGID(?string $oRGID): self
+ {
+ $this->oRGID = $oRGID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets oTHEREVENTID.
+ *
+ * @return string[]|null
+ */
+ public function getOTHEREVENTID(): ?array
+ {
+ return $this->oTHEREVENTID;
+ }
+
+ /**
+ * Sets oTHEREVENTID.
+ *
+ * @param string[]|null $oTHEREVENTID
+ *
+ * @return $this
+ */
+ public function setOTHEREVENTID(?array $oTHEREVENTID): self
+ {
+ $this->oTHEREVENTID = $oTHEREVENTID;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Resource.php b/generator_php-symfony/package/src/Model/emsi/Resource.php
new file mode 100644
index 0000000000..37ecc5dd96
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Resource.php
@@ -0,0 +1,480 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Rgeo"),
+ ])]
+ protected ?array $rGEO = null;
+
+ /**
+ * Dans le cadre d'un échange d'opération, optionnel. Permet de quantifier une ressource : - à ne pas utiliser pour les véhicules ni le personnel - utilisable pour du matériel - utilisable pour des consommables (dans le cas de consommable, à compléter avec le champ UM)
+ *
+ * @var float|null
+ * @SerializedName("QUANTITY")
+ * @Type("float")
+ */
+ #[Assert\Type("float")]
+ protected ?float $qUANTITY = null;
+
+ /**
+ * Dans le cadre d'un échange d'opération, optionnel. Unité de mesure pour des ressources consommables
+ *
+ * @var string|null
+ * @SerializedName("UM")
+ * @Type("string")
+ */
+ #[Assert\Choice(['LSV', 'OTH', 'PKG', 'TIM', 'WGT', 'LSV/CM', 'LSV/CMH', 'LSV/CNTLTR', 'LSV/DEG', 'LSV/HCTLTR', 'LSV/HCTMTR', 'LSV/KM', 'LSV/KPH', 'LSV/LI', 'LSV/LTPRHR', 'LSV/LTPRMN', 'LSV/METRE', 'LSV/MILLTR', 'LSV/MILMTR', 'LSV/SMH', 'LSV/SQM', 'OTH/COIL', 'OTH/DOZEN', 'OTH/EA', 'OTH/GROSS', 'OTH/MANHUR', 'OTH/MHPRHR', 'PKG/BALE', 'PKG/BARREL', 'PKG/BLK', 'PKG/BOX', 'PKG/CASE', 'PKG/CONTNR', 'PKG/CRATE', 'PKG/DRM', 'PKG/JERCAN', 'PKG/PAK', 'PKG/PAL', 'PKG/RATION', 'TIM/DAY', 'TIM/HR', 'TIM/MINUTE', 'TIM/MON', 'TIM/SECOND', 'TIM/WEK', 'TIM/YEA', 'WGT/CNTGRM', 'WGT/GRAM', 'WGT/KG', 'WGT/KGH'])]
+ #[Assert\Type("string")]
+ protected ?string $uM = null;
+
+ /**
+ * Définit le statut de disponibilité d'une ressource. - AVAILB : Lorsqu'une mission est terminée, une ressource redevient disponible - RESRVD : Lorsque la ressource est réservée pour intervenir sur l'affaire mais pas encore engagée dans l'opération. Par exemple : un SMUR termine un autre transfert patient/victime avant de rejoindre une autre intervention : il est alors RESRVD - IN_USE/MOBILE : à utiliser pour les véhicules et le personnel lorsqu'ils se déplaces - IN_USE/ON_SCENE : à utiliser pour les véhicules et le personnel lorsqu'ils sont sur les lieux de l'affaire
+ *
+ * @var string|null
+ * @SerializedName("STATUS")
+ * @Type("string")
+ */
+ #[Assert\NotNull]
+ #[Assert\Choice(['AVAILB', 'UNAV', 'MAINTC', 'RESRVD', 'VIRTUAL', 'IN_USE/MOBILE', 'IN_USE/ON_SCENE'])]
+ #[Assert\Type("string")]
+ protected ?string $sTATUS = null;
+
+ /**
+ * Nationalité d'une ressource, réemployer ISO 3166-1-alpha-2 code elements.
+ *
+ * @var string|null
+ * @SerializedName("NATIONALITY")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $nATIONALITY = null;
+
+ /**
+ * @var Contact[]|null
+ * @SerializedName("CONTACTS")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Contact"),
+ ])]
+ protected ?array $cONTACTS = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->rTYPE = array_key_exists('rTYPE', $data) ? $data['rTYPE'] : $this->rTYPE;
+ $this->iD = array_key_exists('iD', $data) ? $data['iD'] : $this->iD;
+ $this->oRGID = array_key_exists('oRGID', $data) ? $data['oRGID'] : $this->oRGID;
+ $this->nAME = array_key_exists('nAME', $data) ? $data['nAME'] : $this->nAME;
+ $this->fREETEXT = array_key_exists('fREETEXT', $data) ? $data['fREETEXT'] : $this->fREETEXT;
+ $this->rGEO = array_key_exists('rGEO', $data) ? $data['rGEO'] : $this->rGEO;
+ $this->qUANTITY = array_key_exists('qUANTITY', $data) ? $data['qUANTITY'] : $this->qUANTITY;
+ $this->uM = array_key_exists('uM', $data) ? $data['uM'] : $this->uM;
+ $this->sTATUS = array_key_exists('sTATUS', $data) ? $data['sTATUS'] : $this->sTATUS;
+ $this->nATIONALITY = array_key_exists('nATIONALITY', $data) ? $data['nATIONALITY'] : $this->nATIONALITY;
+ $this->cONTACTS = array_key_exists('cONTACTS', $data) ? $data['cONTACTS'] : $this->cONTACTS;
+ }
+ }
+
+ /**
+ * Gets rTYPE.
+ *
+ * @return Rtype|null
+ */
+ public function getRTYPE(): ?Rtype
+ {
+ return $this->rTYPE;
+ }
+
+ /**
+ * Sets rTYPE.
+ *
+ * @param Rtype|null $rTYPE
+ *
+ * @return $this
+ */
+ public function setRTYPE(?Rtype $rTYPE): self
+ {
+ $this->rTYPE = $rTYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets iD.
+ *
+ * @return string|null
+ */
+ public function getID(): ?string
+ {
+ return $this->iD;
+ }
+
+ /**
+ * Sets iD.
+ *
+ * @param string|null $iD Identifiant unique de la ressource dans le systĂšme du partenaire propriĂ©taire. Les systĂšmes sont garants de l'unicitĂ© et de l'invariablitĂ© des ids de vĂ©hicule dans le temps. Ils peuvent se servir des ids dans les rĂ©fĂ©rentiels existants si ils sont uniques et stables. Dans le cas d'un vĂ©hicule agrĂ©gĂ© par un LRM (comme un SMUR), l'ID doit ĂȘtre valorisĂ© avec son immatriculation. Dans le cas d'un vĂ©hicule agrĂ©gĂ© par NexSIS, l'ID fournit peut ne pas correspondre Ă une immatriculation.
+ *
+ * @return $this
+ */
+ public function setID(?string $iD): self
+ {
+ $this->iD = $iD;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets oRGID.
+ *
+ * @return string|null
+ */
+ public function getORGID(): ?string
+ {
+ return $this->oRGID;
+ }
+
+ /**
+ * Sets oRGID.
+ *
+ * @param string|null $oRGID Identifiant de l'organisation Ă laquelle la ressource est rattachĂ©e (caserne, SAMU etc). Se rĂ©fĂ©rer au DSF pour la structure normĂ©e des organisations. Le format est le suivant {pays}.{domaine}.{organisation}.{structure interne}*.{unitĂ© fonctionnelle}*. Dans le cas oĂč le LRM/NexSIS sert d'aggrĂ©gateur pour des vĂ©hicules appartenant Ă un partenaire tiers (type ambulance privĂ©e), l'identifiant d'organisation permet d'identifier ce tiers. A constituer par le rĂ©dacteur du prĂ©sent EMSI pour ĂȘtre unique.
+ *
+ * @return $this
+ */
+ public function setORGID(?string $oRGID = null): self
+ {
+ $this->oRGID = $oRGID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nAME.
+ *
+ * @return string|null
+ */
+ public function getNAME(): ?string
+ {
+ return $this->nAME;
+ }
+
+ /**
+ * Sets nAME.
+ *
+ * @param string|null $nAME Nom donnĂ© Ă la ressource par le partenaire. L'immatriculation peut ĂȘtre utilisĂ©e dans le nom courant des vĂ©hicules. Dans le cas pompier, les vĂ©hicules sont nommĂ©s Dans le cas d'Ă©quipier, cela peut ĂȘtre leur nom
+ *
+ * @return $this
+ */
+ public function setNAME(?string $nAME): self
+ {
+ $this->nAME = $nAME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets fREETEXT.
+ *
+ * @return string|null
+ */
+ public function getFREETEXT(): ?string
+ {
+ return $this->fREETEXT;
+ }
+
+ /**
+ * Sets fREETEXT.
+ *
+ * @param string|null $fREETEXT Texte libre permettant de dĂ©crire la ressource oĂč d'ajouter des prĂ©cisions sur son engagement. Permet aussi notamment de dĂ©crire des attributs librement pour la ressource. Par exemple, pour un vĂ©hicule, sa plaque d'immatriculation.
+ *
+ * @return $this
+ */
+ public function setFREETEXT(?string $fREETEXT = null): self
+ {
+ $this->fREETEXT = $fREETEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets rGEO.
+ *
+ * @return Rgeo[]|null
+ */
+ public function getRGEO(): ?array
+ {
+ return $this->rGEO;
+ }
+
+ /**
+ * Sets rGEO.
+ *
+ * @param Rgeo[]|null $rGEO
+ *
+ * @return $this
+ */
+ public function setRGEO(?array $rGEO = null): self
+ {
+ $this->rGEO = $rGEO;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets qUANTITY.
+ *
+ * @return float|null
+ */
+ public function getQUANTITY(): ?float
+ {
+ return $this->qUANTITY;
+ }
+
+ /**
+ * Sets qUANTITY.
+ *
+ * @param float|null $qUANTITY Dans le cadre d'un échange d'opération, optionnel. Permet de quantifier une ressource : - à ne pas utiliser pour les véhicules ni le personnel - utilisable pour du matériel - utilisable pour des consommables (dans le cas de consommable, à compléter avec le champ UM)
+ *
+ * @return $this
+ */
+ public function setQUANTITY(?float $qUANTITY = null): self
+ {
+ $this->qUANTITY = $qUANTITY;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uM.
+ *
+ * @return string|null
+ */
+ public function getUM(): ?string
+ {
+ return $this->uM;
+ }
+
+ /**
+ * Sets uM.
+ *
+ * @param string|null $uM Dans le cadre d'un échange d'opération, optionnel. Unité de mesure pour des ressources consommables
+ *
+ * @return $this
+ */
+ public function setUM(?string $uM = null): self
+ {
+ $this->uM = $uM;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sTATUS.
+ *
+ * @return string|null
+ */
+ public function getSTATUS(): ?string
+ {
+ return $this->sTATUS;
+ }
+
+ /**
+ * Sets sTATUS.
+ *
+ * @param string|null $sTATUS Définit le statut de disponibilité d'une ressource. - AVAILB : Lorsqu'une mission est terminée, une ressource redevient disponible - RESRVD : Lorsque la ressource est réservée pour intervenir sur l'affaire mais pas encore engagée dans l'opération. Par exemple : un SMUR termine un autre transfert patient/victime avant de rejoindre une autre intervention : il est alors RESRVD - IN_USE/MOBILE : à utiliser pour les véhicules et le personnel lorsqu'ils se déplaces - IN_USE/ON_SCENE : à utiliser pour les véhicules et le personnel lorsqu'ils sont sur les lieux de l'affaire
+ *
+ * @return $this
+ */
+ public function setSTATUS(?string $sTATUS): self
+ {
+ $this->sTATUS = $sTATUS;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nATIONALITY.
+ *
+ * @return string|null
+ */
+ public function getNATIONALITY(): ?string
+ {
+ return $this->nATIONALITY;
+ }
+
+ /**
+ * Sets nATIONALITY.
+ *
+ * @param string|null $nATIONALITY Nationalité d'une ressource, réemployer ISO 3166-1-alpha-2 code elements.
+ *
+ * @return $this
+ */
+ public function setNATIONALITY(?string $nATIONALITY = null): self
+ {
+ $this->nATIONALITY = $nATIONALITY;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cONTACTS.
+ *
+ * @return Contact[]|null
+ */
+ public function getCONTACTS(): ?array
+ {
+ return $this->cONTACTS;
+ }
+
+ /**
+ * Sets cONTACTS.
+ *
+ * @param Contact[]|null $cONTACTS
+ *
+ * @return $this
+ */
+ public function setCONTACTS(?array $cONTACTS = null): self
+ {
+ $this->cONTACTS = $cONTACTS;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Rgeo.php b/generator_php-symfony/package/src/Model/emsi/Rgeo.php
new file mode 100644
index 0000000000..1578065786
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Rgeo.php
@@ -0,0 +1,250 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\emsi\Position"),
+ ])]
+ protected ?array $pOSITION = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->dATIME = array_key_exists('dATIME', $data) ? $data['dATIME'] : $this->dATIME;
+ $this->tYPE = array_key_exists('tYPE', $data) ? $data['tYPE'] : $this->tYPE;
+ $this->fREETEXT = array_key_exists('fREETEXT', $data) ? $data['fREETEXT'] : $this->fREETEXT;
+ $this->iD = array_key_exists('iD', $data) ? $data['iD'] : $this->iD;
+ $this->pOSITION = array_key_exists('pOSITION', $data) ? $data['pOSITION'] : $this->pOSITION;
+ }
+ }
+
+ /**
+ * Gets dATIME.
+ *
+ * @return \DateTime|null
+ */
+ public function getDATIME(): ?\DateTime
+ {
+ return $this->dATIME;
+ }
+
+ /**
+ * Sets dATIME.
+ *
+ * @param \DateTime|null $dATIME Horaire associé à l'arrivée de la ressource sur la position. En fonction du TYPE de position, peut indiquer un horaire de relevé de position, un horaire cible d'arrivée.
+ *
+ * @return $this
+ */
+ public function setDATIME(?\DateTime $dATIME = null): self
+ {
+ $this->dATIME = $dATIME;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets tYPE.
+ *
+ * @return string|null
+ */
+ public function getTYPE(): ?string
+ {
+ return $this->tYPE;
+ }
+
+ /**
+ * Sets tYPE.
+ *
+ * @param string|null $tYPE Type de position indiquĂ© pour la ressource : - ASP : assembly point. Point de rassemblement par dĂ©faut des ressources liĂ©es Ă la mission. Peut ne pas ĂȘtre utilisĂ© - CUR : current. Position actualisĂ©e de la ressource permettant le suivi gĂ©olocalisĂ© des vĂ©hicules notamment. Peut ne pas ĂȘtre utilisĂ© - INC : incident. Consigne relative au positionnement de la ressource sur le lieu d'intervention. Peut ne pas ĂȘtre utilisĂ© - STG : staging point. Consigne relative au stationnement des vĂ©hicules ou au stockage du matĂ©riel par exemple. peut ne pas ĂȘtre utilisĂ© - TGT : targer location. Si renseignĂ©, doit ĂȘtre cohĂ©rent avec la position renseignĂ©e pour la mission. Plusieurs positions du mĂȘme type avec des horodatages diffĂ©rents peuvent ĂȘtre fournies.
+ *
+ * @return $this
+ */
+ public function setTYPE(?string $tYPE): self
+ {
+ $this->tYPE = $tYPE;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets fREETEXT.
+ *
+ * @return string|null
+ */
+ public function getFREETEXT(): ?string
+ {
+ return $this->fREETEXT;
+ }
+
+ /**
+ * Sets fREETEXT.
+ *
+ * @param string|null $fREETEXT Permet de rajouter des précisions sur la localisation de la ressource transmise
+ *
+ * @return $this
+ */
+ public function setFREETEXT(?string $fREETEXT = null): self
+ {
+ $this->fREETEXT = $fREETEXT;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets iD.
+ *
+ * @return string|null
+ */
+ public function getID(): ?string
+ {
+ return $this->iD;
+ }
+
+ /**
+ * Sets iD.
+ *
+ * @param string|null $iD Identifiant unique de la position dans le systĂšme du partenaire
+ *
+ * @return $this
+ */
+ public function setID(?string $iD = null): self
+ {
+ $this->iD = $iD;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets pOSITION.
+ *
+ * @return Position[]|null
+ */
+ public function getPOSITION(): ?array
+ {
+ return $this->pOSITION;
+ }
+
+ /**
+ * Sets pOSITION.
+ *
+ * @param Position[]|null $pOSITION
+ *
+ * @return $this
+ */
+ public function setPOSITION(?array $pOSITION = null): self
+ {
+ $this->pOSITION = $pOSITION;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/emsi/Rtype.php b/generator_php-symfony/package/src/Model/emsi/Rtype.php
new file mode 100644
index 0000000000..06e3aa5b43
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/emsi/Rtype.php
@@ -0,0 +1,176 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\All([
+ new Assert\Choice(['FAC', 'HUM', 'MAT', 'ORG', 'FAC/BRIDGE', 'FAC/BUILDN', 'FAC/DEPOT', 'FAC/NETWK', 'FAC/OPR', 'FAC/OTH', 'FAC/WATFIR', 'FAC/BRIDGE/MILVHL', 'FAC/BUILDN/BARRCK', 'FAC/BUILDN/BUNKER', 'FAC/BUILDN/COB', 'FAC/BUILDN/CTT', 'FAC/BUILDN/DAM', 'FAC/BUILDN/GYMNAS', 'FAC/BUILDN/HANGAR', 'FAC/BUILDN/HOUSE', 'FAC/BUILDN/HUT', 'FAC/BUILDN/INDINS', 'FAC/BUILDN/OFFICE', 'FAC/BUILDN/SCHOOL', 'FAC/BUILDN/SHD', 'FAC/BUILDN/SHLSUR', 'FAC/BUILDN/SHLUND', 'FAC/BUILDN/SHOP', 'FAC/BUILDN/TOW', 'FAC/BUILDN/TUN', 'FAC/BUILDN/WALL', 'FAC/BUILDN/WTW', 'FAC/DEPOT/BIO', 'FAC/DEPOT/CBRN', 'FAC/DEPOT/CHM', 'FAC/DEPOT/ENG', 'FAC/DEPOT/MED', 'FAC/DEPOT/MUN', 'FAC/DEPOT/POL', 'FAC/NETWK/ADSL', 'FAC/NETWK/ATM', 'FAC/NETWK/CTZALT', 'FAC/NETWK/EMGNWK', 'FAC/NETWK/GPRS', 'FAC/NETWK/GSM', 'FAC/NETWK/INTRAN', 'FAC/NETWK/INTRNT', 'FAC/NETWK/ISDN', 'FAC/NETWK/LAN', 'FAC/NETWK/PAMR', 'FAC/NETWK/PDMR', 'FAC/NETWK/PGSM', 'FAC/NETWK/PSTN', 'FAC/NETWK/RADEHF', 'FAC/NETWK/RADHF', 'FAC/NETWK/RADIO', 'FAC/NETWK/RADLF', 'FAC/NETWK/RADMF', 'FAC/NETWK/RADSHF', 'FAC/NETWK/RADUHF', 'FAC/NETWK/RADVHF', 'FAC/NETWK/RADVLF', 'FAC/NETWK/RAYNET', 'FAC/NETWK/RELAY', 'FAC/NETWK/SDSL', 'FAC/NETWK/TV', 'FAC/NETWK/UMTS', 'FAC/NETWK/VDSL', 'FAC/NETWK/WAN', 'FAC/NETWK/WIMAX', 'FAC/NETWK/WLAN', 'FAC/OPR/AMBFAC', 'FAC/OPR/BDHOLD', 'FAC/OPR/CAMP', 'FAC/OPR/CASBUR', 'FAC/OPR/CASCLR', 'FAC/OPR/CASCOL', 'FAC/OPR/CP', 'FAC/OPR/CSCLPT', 'FAC/OPR/CVCLPT', 'FAC/OPR/DEBRDP', 'FAC/OPR/DECONP', 'FAC/OPR/DISBED', 'FAC/OPR/DOCFAC', 'FAC/OPR/EMMORT', 'FAC/OPR/EQPOOL', 'FAC/OPR/EVASSP', 'FAC/OPR/FACAIR', 'FAC/OPR/FACMIL', 'FAC/OPR/FACNAV', 'FAC/OPR/FAMFRD', 'FAC/OPR/FIRFAC', 'FAC/OPR/FSAAMM', 'FAC/OPR/GERBED', 'FAC/OPR/HOLD', 'FAC/OPR/HPD', 'FAC/OPR/HPT', 'FAC/OPR/HSP', 'FAC/OPR/HSPFLD', 'FAC/OPR/HSPFLD2', 'FAC/OPR/IRM', 'FAC/OPR/MARSHAL', 'FAC/OPR/MATBED', 'FAC/OPR/MEDBED', 'FAC/OPR/MEDSPT', 'FAC/OPR/MOBLCP', 'FAC/OPR/OPCTCN', 'FAC/OPR/PHARMA', 'FAC/OPR/POLFAC', 'FAC/OPR/POLPT', 'FAC/OPR/REFARE', 'FAC/OPR/RRRSPT', 'FAC/OPR/SITLOG', 'FAC/OPR/SPTARE', 'FAC/OPR/SRVCNT', 'FAC/OPR/STCOCN', 'FAC/OPR/STCTCN', 'FAC/OPR/TCCTCN', 'FAC/OTH/ACCOM', 'FAC/OTH/AIRFLD', 'FAC/OTH/BANK', 'FAC/OTH/BATH', 'FAC/OTH/CAN', 'FAC/OTH/CEM', 'FAC/OTH/DCH', 'FAC/OTH/ELCINS', 'FAC/OTH/ELCSPL', 'FAC/OTH/EQIMFT', 'FAC/OTH/FACGOV', 'FAC/OTH/FACPOW', 'FAC/OTH/FACTEC', 'FAC/OTH/FACTEL', 'FAC/OTH/FACTRN', 'FAC/OTH/FATST', 'FAC/OTH/FERINS', 'FAC/OTH/FHPT', 'FAC/OTH/LGRLPT', 'FAC/OTH/MAINTF', 'FAC/OTH/PTL', 'FAC/OTH/RES', 'FAC/OTH/VST', 'FAC/OTH/WATSPL', 'FAC/OTH/WSHFAC', 'FAC/WATFIR/FOMBLK', 'FAC/WATFIR/HYDRNT', 'FAC/WATFIR/TOWNMN', 'HUM/CAPAB', 'HUM/PERSON', 'HUM/UNIT', 'HUM/CAPAB/AMB', 'HUM/CAPAB/FIR', 'HUM/CAPAB/MED', 'HUM/CAPAB/MIL', 'HUM/CAPAB/POL', 'HUM/CAPAB/TRP', 'HUM/CAPAB/AMB/INCOFF', 'HUM/CAPAB/AMB/PARAMD', 'HUM/CAPAB/AMB/SAFOFF', 'HUM/CAPAB/AMB/TECHNIC', 'HUM/CAPAB/FIR/BACOFF', 'HUM/CAPAB/FIR/BAEOFF', 'HUM/CAPAB/FIR/COMOFF', 'HUM/CAPAB/FIR/CONOFF', 'HUM/CAPAB/FIR/DECOFF', 'HUM/CAPAB/FIR/FINOFF', 'HUM/CAPAB/FIR/FOMOFF', 'HUM/CAPAB/FIR/HAZOFF', 'HUM/CAPAB/FIR/INCCOM', 'HUM/CAPAB/FIR/LIAOFF', 'HUM/CAPAB/FIR/LOGOFF', 'HUM/CAPAB/FIR/MAROFF', 'HUM/CAPAB/FIR/MEDOFF', 'HUM/CAPAB/FIR/OPRCOM', 'HUM/CAPAB/FIR/SAFOFF', 'HUM/CAPAB/FIR/SALOFF', 'HUM/CAPAB/FIR/SECCOM', 'HUM/CAPAB/FIR/STAOFF', 'HUM/CAPAB/FIR/STRCOM', 'HUM/CAPAB/FIR/TACCOM', 'HUM/CAPAB/FIR/WATOFF', 'HUM/CAPAB/MED/ANSPHY', 'HUM/CAPAB/MED/DNTPHY', 'HUM/CAPAB/MED/DOCTOR', 'HUM/CAPAB/MED/GYNPHY', 'HUM/CAPAB/MED/HDNPHY', 'HUM/CAPAB/MED/INMPHY', 'HUM/CAPAB/MED/NURSE', 'HUM/CAPAB/MED/ORTPHY', 'HUM/CAPAB/MED/OTHPHY', 'HUM/CAPAB/MED/PRCPHY', 'HUM/CAPAB/MED/PSYPHY', 'HUM/CAPAB/MED/PTHPHY', 'HUM/CAPAB/MED/RADPHY', 'HUM/CAPAB/MED/SURPHY', 'HUM/CAPAB/MIL/AUTCDR', 'HUM/CAPAB/MIL/INTOFF', 'HUM/CAPAB/MIL/LIAISN', 'HUM/CAPAB/MIL/OF1', 'HUM/CAPAB/MIL/OF10', 'HUM/CAPAB/MIL/OF2', 'HUM/CAPAB/MIL/OF3', 'HUM/CAPAB/MIL/OF4', 'HUM/CAPAB/MIL/OF5', 'HUM/CAPAB/MIL/OF6', 'HUM/CAPAB/MIL/OF7', 'HUM/CAPAB/MIL/OF8', 'HUM/CAPAB/MIL/OF9', 'HUM/CAPAB/MIL/OFFR', 'HUM/CAPAB/MIL/OPSOFF', 'HUM/CAPAB/MIL/OR1', 'HUM/CAPAB/MIL/OR2', 'HUM/CAPAB/MIL/OR3', 'HUM/CAPAB/MIL/OR4', 'HUM/CAPAB/MIL/OR5', 'HUM/CAPAB/MIL/OR6', 'HUM/CAPAB/MIL/OR7', 'HUM/CAPAB/MIL/OR8', 'HUM/CAPAB/MIL/OR9', 'HUM/CAPAB/MIL/OTHR', 'HUM/CAPAB/MIL/POC', 'HUM/CAPAB/POL/BMBOFF', 'HUM/CAPAB/POL/CASOFF', 'HUM/CAPAB/POL/COFF', 'HUM/CAPAB/POL/DETCTV', 'HUM/CAPAB/POL/DIVER', 'HUM/CAPAB/POL/MOM', 'HUM/CAPAB/POL/PIO', 'HUM/CAPAB/POL/PMR', 'HUM/CAPAB/POL/RDINV', 'HUM/CAPAB/POL/SCO', 'HUM/CAPAB/POL/SIO', 'HUM/CAPAB/POL/STTTK', 'HUM/CAPAB/TRP/AIRFW', 'HUM/CAPAB/TRP/AIRRW', 'HUM/CAPAB/TRP/AMPH', 'HUM/CAPAB/TRP/LNDRAI', 'HUM/CAPAB/TRP/LNDWHL', 'HUM/CAPAB/TRP/SEASS', 'HUM/CAPAB/TRP/SEASUR', 'HUM/PERSON/CFIROF', 'HUM/PERSON/GOVEMP', 'HUM/PERSON/INTLCT', 'HUM/PERSON/JRNLST', 'HUM/PERSON/MEDIA', 'HUM/PERSON/NONGVE', 'HUM/PERSON/POLCHF', 'HUM/PERSON/VILELD', 'HUM/PERSON/WRITER', 'HUM/UNIT/AIRLSN', 'HUM/UNIT/C2', 'HUM/UNIT/CBRN', 'HUM/UNIT/CONST', 'HUM/UNIT/CRSMAN', 'HUM/UNIT/DISID', 'HUM/UNIT/EMPOFF', 'HUM/UNIT/ENG', 'HUM/UNIT/ENVOFF', 'HUM/UNIT/FINANC', 'HUM/UNIT/FIXWNG', 'HUM/UNIT/GUID', 'HUM/UNIT/HELCTR', 'HUM/UNIT/LAWENF', 'HUM/UNIT/LNDSPT', 'HUM/UNIT/LOG', 'HUM/UNIT/MAGRSP', 'HUM/UNIT/MAINT', 'HUM/UNIT/MDSADV', 'HUM/UNIT/MEDCL', 'HUM/UNIT/MST', 'HUM/UNIT/MSURTM', 'HUM/UNIT/NAVAL', 'HUM/UNIT/POL', 'HUM/UNIT/PSYCH', 'HUM/UNIT/RAILWY', 'HUM/UNIT/RECCE', 'HUM/UNIT/RELCHP', 'HUM/UNIT/RIVERN', 'HUM/UNIT/SAR', 'HUM/UNIT/SECPOL', 'HUM/UNIT/SHRPAT', 'HUM/UNIT/SPECIA', 'HUM/UNIT/SURG', 'HUM/UNIT/TRAUMA', 'HUM/UNIT/TRNPTN', 'HUM/UNIT/VET', 'HUM/UNIT/WLFCOR', 'HUM/UNIT/POL/AIRSPT', 'HUM/UNIT/POL/MNTPOL', 'HUM/UNIT/POL/PUBORD', 'HUM/UNIT/POL/RDSPT', 'HUM/UNIT/POL/SPCLST', 'HUM/UNIT/SAR/CSAR', 'HUM/UNIT/SAR/MSAR', 'HUM/UNIT/SAR/RSAR', 'HUM/UNIT/SAR/RST', 'HUM/UNIT/SAR/SSAR', 'HUM/UNIT/SAR/USAR', 'HUM/UNIT/SAR/WSAR', 'HUM/UNIT/SAR/USAR/CANIN', 'HUM/UNIT/SAR/USAR/DETEC', 'MAT/CM', 'MAT/EQ', 'MAT/VEH', 'MAT/CM/ABSAG', 'MAT/CM/BIOAGN', 'MAT/CM/CHMAGN', 'MAT/CM/CON', 'MAT/CM/EXTAG', 'MAT/CM/FOO', 'MAT/CM/FUEL', 'MAT/CM/FUSE', 'MAT/CM/LUBRIC', 'MAT/CM/MATING', 'MAT/CM/MEDICN', 'MAT/CM/MEDSPL', 'MAT/CM/MEGPHN', 'MAT/CM/MONEY', 'MAT/CM/OIL', 'MAT/CM/PAINT', 'MAT/CM/PAPER', 'MAT/CM/PPE', 'MAT/CM/RATCO', 'MAT/CM/RATFR', 'MAT/CM/RATTI', 'MAT/CM/RETAG', 'MAT/CM/TIMBER', 'MAT/CM/UNIFRM', 'MAT/CM/WIRE', 'MAT/CM/WTREXT', 'MAT/CM/WTRPOT', 'MAT/CM/ABSAG/CHM', 'MAT/CM/ABSAG/PHY', 'MAT/CM/EXTAG/CO2', 'MAT/CM/EXTAG/DRYMIN', 'MAT/CM/EXTAG/FATFIR', 'MAT/CM/EXTAG/FOAM', 'MAT/CM/EXTAG/HALON', 'MAT/CM/EXTAG/INERT', 'MAT/CM/EXTAG/METPWD', 'MAT/CM/EXTAG/POWDER', 'MAT/CM/EXTAG/FOAM/AFFF', 'MAT/CM/EXTAG/FOAM/AFFFAR', 'MAT/CM/EXTAG/FOAM/OTH', 'MAT/CM/FUEL/AVNFU', 'MAT/CM/FUEL/DIESEL', 'MAT/CM/FUEL/KEROS', 'MAT/CM/FUEL/LPG', 'MAT/CM/FUEL/NATGAS', 'MAT/CM/FUEL/PETROL', 'MAT/CM/MEDICN/1STAID', 'MAT/CM/MEDICN/AMPHTM', 'MAT/CM/MEDICN/BLOOD', 'MAT/CM/MEDICN/BNDDR', 'MAT/CM/MEDICN/KTMINE', 'MAT/CM/MEDICN/MORFIN', 'MAT/CM/MEDICN/WTRMED', 'MAT/CM/PPE/CBRNKIT', 'MAT/CM/PPE/CLOTH', 'MAT/CM/PPE/RESP', 'MAT/CM/PPE/SURCOT', 'MAT/CM/PPE/CLOTH/CHEMCL', 'MAT/CM/PPE/CLOTH/FFCLO', 'MAT/CM/PPE/CLOTH/FKIT', 'MAT/CM/PPE/CLOTH/CHEMCL/CHEMB', 'MAT/CM/PPE/CLOTH/CHEMCL/CHEMG', 'MAT/CM/PPE/CLOTH/CHEMCL/GASSU', 'MAT/CM/PPE/CLOTH/CHEMCL/LIQSU', 'MAT/CM/PPE/CLOTH/CHEMCL/SPLASU', 'MAT/CM/PPE/CLOTH/CHEMCL/TEMPSU', 'MAT/EQ/CBRN', 'MAT/EQ/ELC', 'MAT/EQ/ENG', 'MAT/EQ/OTH', 'MAT/EQ/POLICE', 'MAT/EQ/CBRN/ABICHM', 'MAT/EQ/CBRN/ABIDET', 'MAT/EQ/CBRN/ACHDET', 'MAT/EQ/CBRN/ARDDET', 'MAT/EQ/CBRN/BIOINT', 'MAT/EQ/CBRN/BIOSTO', 'MAT/EQ/CBRN/CBRNDEC', 'MAT/EQ/CBRN/CBRNREC', 'MAT/EQ/CBRN/CHMMON', 'MAT/EQ/CBRN/MSSPTR', 'MAT/EQ/CBRN/RDSPTR', 'MAT/EQ/ELC/AMTRAD', 'MAT/EQ/ELC/C3I', 'MAT/EQ/ELC/COMSYS', 'MAT/EQ/ELC/COMVEH', 'MAT/EQ/ELC/MULTIRE', 'MAT/EQ/ELC/NAV', 'MAT/EQ/ELC/NAVRAD', 'MAT/EQ/ELC/OTH', 'MAT/EQ/ELC/POWGN', 'MAT/EQ/ELC/RIDD', 'MAT/EQ/ELC/SEN', 'MAT/EQ/ELC/SONAR', 'MAT/EQ/ELC/THIMC', 'MAT/EQ/ELC/VIBRA', 'MAT/EQ/ELC/COMSYS/MEGPHN', 'MAT/EQ/ELC/COMSYS/PAGER', 'MAT/EQ/ELC/COMSYS/PMRRDIO', 'MAT/EQ/ELC/COMSYS/PUBADD', 'MAT/EQ/ELC/COMSYS/RDBRCT', 'MAT/EQ/ENG/BRIDGG', 'MAT/EQ/ENG/CNSTVE', 'MAT/EQ/ENG/CONST', 'MAT/EQ/ENG/DOZER', 'MAT/EQ/ENG/ERTHMV', 'MAT/EQ/ENG/FIRFGT', 'MAT/EQ/ENG/INTEL', 'MAT/EQ/ENG/MINECL', 'MAT/EQ/ENG/MINEDT', 'MAT/EQ/ENG/MINEMR', 'MAT/EQ/ENG/WPNPRT', 'MAT/EQ/ENG/FIRFGT/BRHTAP', 'MAT/EQ/ENG/FIRFGT/CEAR', 'MAT/EQ/ENG/FIRFGT/CEC', 'MAT/EQ/ENG/FIRFGT/CECH', 'MAT/EQ/ENG/FIRFGT/CEEV', 'MAT/EQ/ENG/FIRFGT/CEM', 'MAT/EQ/ENG/FIRFGT/CEPC', 'MAT/EQ/ENG/FIRFGT/CEPO', 'MAT/EQ/ENG/FIRFGT/CEPOL', 'MAT/EQ/ENG/FIRFGT/CER', 'MAT/EQ/ENG/FIRFGT/CESD', 'MAT/EQ/ENG/FIRFGT/GRDMON', 'MAT/EQ/ENG/FIRFGT/MPR', 'MAT/EQ/ENG/FIRFGT/RAR', 'MAT/EQ/ENG/FIRFGT/UMIR', 'MAT/EQ/ENG/FIRFGT/VAMUR', 'MAT/EQ/ENG/INTEL/CAMERA', 'MAT/EQ/ENG/INTEL/CCTVCM', 'MAT/EQ/ENG/INTEL/CDVDOG', 'MAT/EQ/ENG/INTEL/FSPDCM', 'MAT/EQ/ENG/INTEL/FTFLCM', 'MAT/EQ/ENG/INTEL/PSPDCM', 'MAT/EQ/ENG/INTEL/TCKDOG', 'MAT/EQ/ENG/WPNPRT/BALVST', 'MAT/EQ/ENG/WPNPRT/BATON', 'MAT/EQ/ENG/WPNPRT/ENFDOG', 'MAT/EQ/ENG/WPNPRT/FIREARM', 'MAT/EQ/ENG/WPNPRT/HNDCUF', 'MAT/EQ/ENG/WPNPRT/OFFPRT', 'MAT/EQ/ENG/WPNPRT/PRSCNT', 'MAT/EQ/OTH/BLNKT', 'MAT/EQ/OTH/CONTNR', 'MAT/EQ/OTH/CUTING', 'MAT/EQ/OTH/TANK', 'MAT/EQ/OTH/TENT', 'MAT/EQ/OTH/WATPUR', 'MAT/EQ/POLICE/BRTEST', 'MAT/EQ/POLICE/CONE', 'MAT/EQ/POLICE/LAMP', 'MAT/EQ/POLICE/STINGER', 'MAT/EQ/POLICE/TORCH', 'MAT/EQ/POLICE/UNFRMC', 'MAT/EQ/POLICE/UNFRMN', 'MAT/VEH/AIRCRF', 'MAT/VEH/HORSE', 'MAT/VEH/RAILVE', 'MAT/VEH/ROADVE', 'MAT/VEH/VESSEL', 'MAT/VEH/AIRCRF/AIRTRS', 'MAT/VEH/AIRCRF/CMDCTL', 'MAT/VEH/AIRCRF/HEL', 'MAT/VEH/AIRCRF/HELCMD', 'MAT/VEH/AIRCRF/HELMED', 'MAT/VEH/AIRCRF/HELREC', 'MAT/VEH/AIRCRF/MEDEVC', 'MAT/VEH/AIRCRF/PLANE', 'MAT/VEH/AIRCRF/POLHEL', 'MAT/VEH/AIRCRF/RECCE', 'MAT/VEH/AIRCRF/SAR', 'MAT/VEH/AIRCRF/TANKER', 'MAT/VEH/AIRCRF/UAV', 'MAT/VEH/RAILVE/LCMDSE', 'MAT/VEH/RAILVE/LCMDSL', 'MAT/VEH/RAILVE/LCMELC', 'MAT/VEH/RAILVE/LCMSTM', 'MAT/VEH/RAILVE/LCMTND', 'MAT/VEH/RAILVE/LCMTVE', 'MAT/VEH/RAILVE/RLDEQP', 'MAT/VEH/RAILVE/RLLSTK', 'MAT/VEH/RAILVE/TRAM', 'MAT/VEH/RAILVE/WGNART', 'MAT/VEH/RAILVE/WGNBRK', 'MAT/VEH/RAILVE/WGNCAR', 'MAT/VEH/RAILVE/WGNCRG', 'MAT/VEH/RAILVE/WGNCSS', 'MAT/VEH/RAILVE/WGNCTL', 'MAT/VEH/RAILVE/WGNFLB', 'MAT/VEH/RAILVE/WGNFUL', 'MAT/VEH/RAILVE/WGNHPR', 'MAT/VEH/RAILVE/WGNISO', 'MAT/VEH/RAILVE/WGNLQD', 'MAT/VEH/RAILVE/WGNMNR', 'MAT/VEH/RAILVE/WGNOPC', 'MAT/VEH/RAILVE/WGNPAS', 'MAT/VEH/RAILVE/WGNRFG', 'MAT/VEH/RAILVE/WGNRPR', 'MAT/VEH/RAILVE/WGNSPP', 'MAT/VEH/RAILVE/WGNWAT', 'MAT/VEH/RAILVE/WGNWFL', 'MAT/VEH/ROADVE/AMBUL', 'MAT/VEH/ROADVE/AUTOMO', 'MAT/VEH/ROADVE/BICYCL', 'MAT/VEH/ROADVE/BUS', 'MAT/VEH/ROADVE/CCTRCK', 'MAT/VEH/ROADVE/CRANE', 'MAT/VEH/ROADVE/FRFGTN', 'MAT/VEH/ROADVE/HETVEH', 'MAT/VEH/ROADVE/MAINT', 'MAT/VEH/ROADVE/MHVEH', 'MAT/VEH/ROADVE/MILUV', 'MAT/VEH/ROADVE/MOTCYC', 'MAT/VEH/ROADVE/POD', 'MAT/VEH/ROADVE/POLICE', 'MAT/VEH/ROADVE/SEMI', 'MAT/VEH/ROADVE/TRACTR', 'MAT/VEH/ROADVE/TRAILR', 'MAT/VEH/ROADVE/TRLBUS', 'MAT/VEH/ROADVE/TRUCK', 'MAT/VEH/ROADVE/FRFGTN/AERIAL', 'MAT/VEH/ROADVE/FRFGTN/BREATH', 'MAT/VEH/ROADVE/FRFGTN/C3', 'MAT/VEH/ROADVE/FRFGTN/FRF', 'MAT/VEH/ROADVE/FRFGTN/HAZMAT', 'MAT/VEH/ROADVE/FRFGTN/OTHR', 'MAT/VEH/ROADVE/FRFGTN/PERCAR', 'MAT/VEH/ROADVE/FRFGTN/PUMP', 'MAT/VEH/ROADVE/FRFGTN/RSC', 'MAT/VEH/ROADVE/POLICE/COMLIA', 'MAT/VEH/ROADVE/POLICE/DOGUNT', 'MAT/VEH/ROADVE/POLICE/GENPUR', 'MAT/VEH/ROADVE/POLICE/HAZMAT', 'MAT/VEH/ROADVE/POLICE/MBIKE', 'MAT/VEH/ROADVE/POLICE/PATROL', 'MAT/VEH/ROADVE/POLICE/RSPONSE', 'MAT/VEH/ROADVE/POLICE/TRAFFIC', 'MAT/VEH/ROADVE/POLICE/TRANSIT', 'MAT/VEH/ROADVE/POLICE/VAN', 'MAT/VEH/VESSEL/AIRCAR', 'MAT/VEH/VESSEL/AMPH', 'MAT/VEH/VESSEL/BARGE', 'MAT/VEH/VESSEL/BARSHP', 'MAT/VEH/VESSEL/BRDGBT', 'MAT/VEH/VESSEL/CNTSHP', 'MAT/VEH/VESSEL/CSRSHP', 'MAT/VEH/VESSEL/CSTSHP', 'MAT/VEH/VESSEL/DPSMVS', 'MAT/VEH/VESSEL/FERRY', 'MAT/VEH/VESSEL/FIRBOT', 'MAT/VEH/VESSEL/FLTCRN', 'MAT/VEH/VESSEL/FLTDRG', 'MAT/VEH/VESSEL/FLTDRY', 'MAT/VEH/VESSEL/FREBLK', 'MAT/VEH/VESSEL/FRELIQ', 'MAT/VEH/VESSEL/HOSSHP', 'MAT/VEH/VESSEL/HOVCRF', 'MAT/VEH/VESSEL/ICEBRK', 'MAT/VEH/VESSEL/LAUNCH', 'MAT/VEH/VESSEL/LGHTER', 'MAT/VEH/VESSEL/LNDCRF', 'MAT/VEH/VESSEL/MERSHP', 'MAT/VEH/VESSEL/MOBLS', 'MAT/VEH/VESSEL/OILER', 'MAT/VEH/VESSEL/PASSGR', 'MAT/VEH/VESSEL/PATVES', 'MAT/VEH/VESSEL/POLSPD', 'MAT/VEH/VESSEL/PRV', 'MAT/VEH/VESSEL/RAFT', 'MAT/VEH/VESSEL/RPRSHP', 'MAT/VEH/VESSEL/SAILVS', 'MAT/VEH/VESSEL/SALSHP', 'MAT/VEH/VESSEL/SMLLBO', 'MAT/VEH/VESSEL/SUBMAR', 'MAT/VEH/VESSEL/TANKER', 'MAT/VEH/VESSEL/TENDER', 'MAT/VEH/VESSEL/TUGBOT', 'ORG/AMBUL', 'ORG/CIVP', 'ORG/COASTG', 'ORG/DOCTOR', 'ORG/ENVAGC', 'ORG/FIRFS', 'ORG/GEND', 'ORG/HOSP', 'ORG/IDCOM', 'ORG/LCRESF', 'ORG/LOCAUT', 'ORG/MARAGC', 'ORG/METAGC', 'ORG/MIL', 'ORG/NGO', 'ORG/POLCNG', 'ORG/POLICE', 'ORG/RGRESF', 'ORG/SPADPV', 'ORG/TRS', 'ORG/WATAGC']),
+ ])]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $rCLASS = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("CAPABILITY")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $cAPABILITY = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("CHARACTERISTICS")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $cHARACTERISTICS = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->rCLASS = array_key_exists('rCLASS', $data) ? $data['rCLASS'] : $this->rCLASS;
+ $this->cAPABILITY = array_key_exists('cAPABILITY', $data) ? $data['cAPABILITY'] : $this->cAPABILITY;
+ $this->cHARACTERISTICS = array_key_exists('cHARACTERISTICS', $data) ? $data['cHARACTERISTICS'] : $this->cHARACTERISTICS;
+ }
+ }
+
+ /**
+ * Gets rCLASS.
+ *
+ * @return string[]|null
+ */
+ public function getRCLASS(): ?array
+ {
+ return $this->rCLASS;
+ }
+
+ /**
+ * Sets rCLASS.
+ *
+ * @param string[]|null $rCLASS
+ *
+ * @return $this
+ */
+ public function setRCLASS(?array $rCLASS): self
+ {
+ $this->rCLASS = $rCLASS;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cAPABILITY.
+ *
+ * @return string[]|null
+ */
+ public function getCAPABILITY(): ?array
+ {
+ return $this->cAPABILITY;
+ }
+
+ /**
+ * Sets cAPABILITY.
+ *
+ * @param string[]|null $cAPABILITY
+ *
+ * @return $this
+ */
+ public function setCAPABILITY(?array $cAPABILITY = null): self
+ {
+ $this->cAPABILITY = $cAPABILITY;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cHARACTERISTICS.
+ *
+ * @return string[]|null
+ */
+ public function getCHARACTERISTICS(): ?array
+ {
+ return $this->cHARACTERISTICS;
+ }
+
+ /**
+ * Sets cHARACTERISTICS.
+ *
+ * @param string[]|null $cHARACTERISTICS
+ *
+ * @return $this
+ */
+ public function setCHARACTERISTICS(?array $cHARACTERISTICS = null): self
+ {
+ $this->cHARACTERISTICS = $cHARACTERISTICS;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/Contact.php b/generator_php-symfony/package/src/Model/geolocation/Contact.php
new file mode 100644
index 0000000000..ef0a114de8
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/Contact.php
@@ -0,0 +1,134 @@
+type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->details = array_key_exists('details', $data) ? $data['details'] : $this->details;
+ }
+ }
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type Type de contact, voir énumération associée 1. PMRADD (si RFGI disponible) 2. PHNADD pour téléphonie
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets details.
+ *
+ * @return string|null
+ */
+ public function getDetails(): ?string
+ {
+ return $this->details;
+ }
+
+ /**
+ * Sets details.
+ *
+ * @param string|null $details 1. RFGI (si RFGI disponible) 2. Numéro de téléphone
+ *
+ * @return $this
+ */
+ public function setDetails(?string $details = null): self
+ {
+ $this->details = $details;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/Coord.php b/generator_php-symfony/package/src/Model/geolocation/Coord.php
new file mode 100644
index 0000000000..336277fbb4
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/Coord.php
@@ -0,0 +1,173 @@
+lat = array_key_exists('lat', $data) ? $data['lat'] : $this->lat;
+ $this->lon = array_key_exists('lon', $data) ? $data['lon'] : $this->lon;
+ $this->height = array_key_exists('height', $data) ? $data['height'] : $this->height;
+ }
+ }
+
+ /**
+ * Gets lat.
+ *
+ * @return float|null
+ */
+ public function getLat(): ?float
+ {
+ return $this->lat;
+ }
+
+ /**
+ * Sets lat.
+ *
+ * @param float|null $lat DerniĂšre coordonnĂ©e x connue de la ressource, entre â90 and +90
+ *
+ * @return $this
+ */
+ public function setLat(?float $lat): self
+ {
+ $this->lat = $lat;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lon.
+ *
+ * @return float|null
+ */
+ public function getLon(): ?float
+ {
+ return $this->lon;
+ }
+
+ /**
+ * Sets lon.
+ *
+ * @param float|null $lon DerniĂšre coordonnĂ©e y connue de la ressource, entre â180 and +180
+ *
+ * @return $this
+ */
+ public function setLon(?float $lon): self
+ {
+ $this->lon = $lon;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets height.
+ *
+ * @return float|null
+ */
+ public function getHeight(): ?float
+ {
+ return $this->height;
+ }
+
+ /**
+ * Sets height.
+ *
+ * @param float|null $height DerniÚre coordonnée z connue de la ressource, en mÚtres sans bornes
+ *
+ * @return $this
+ */
+ public function setHeight(?float $height = null): self
+ {
+ $this->height = $height;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/GeoPositionsUpdate.php b/generator_php-symfony/package/src/Model/geolocation/GeoPositionsUpdate.php
new file mode 100644
index 0000000000..04de5693ff
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/GeoPositionsUpdate.php
@@ -0,0 +1,98 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\geolocation\Position"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $position = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->position = array_key_exists('position', $data) ? $data['position'] : $this->position;
+ }
+ }
+
+ /**
+ * Gets position.
+ *
+ * @return Position[]|null
+ */
+ public function getPosition(): ?array
+ {
+ return $this->position;
+ }
+
+ /**
+ * Sets position.
+ *
+ * @param Position[]|null $position
+ *
+ * @return $this
+ */
+ public function setPosition(?array $position): self
+ {
+ $this->position = $position;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/GeoPositionsUpdateWrapper.php b/generator_php-symfony/package/src/Model/geolocation/GeoPositionsUpdateWrapper.php
new file mode 100644
index 0000000000..8d20168ec7
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/GeoPositionsUpdateWrapper.php
@@ -0,0 +1,95 @@
+geoPositionsUpdate = array_key_exists('geoPositionsUpdate', $data) ? $data['geoPositionsUpdate'] : $this->geoPositionsUpdate;
+ }
+ }
+
+ /**
+ * Gets geoPositionsUpdate.
+ *
+ * @return GeoPositionsUpdate|null
+ */
+ public function getGeoPositionsUpdate(): ?GeoPositionsUpdate
+ {
+ return $this->geoPositionsUpdate;
+ }
+
+ /**
+ * Sets geoPositionsUpdate.
+ *
+ * @param GeoPositionsUpdate|null $geoPositionsUpdate
+ *
+ * @return $this
+ */
+ public function setGeoPositionsUpdate(?GeoPositionsUpdate $geoPositionsUpdate): self
+ {
+ $this->geoPositionsUpdate = $geoPositionsUpdate;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/GeoResourcesDetails.php b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesDetails.php
new file mode 100644
index 0000000000..76b58754bb
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesDetails.php
@@ -0,0 +1,95 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\geolocation\Resource"),
+ ])]
+ protected ?array $resource = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->resource = array_key_exists('resource', $data) ? $data['resource'] : $this->resource;
+ }
+ }
+
+ /**
+ * Gets resource.
+ *
+ * @return Resource[]|null
+ */
+ public function getResource(): ?array
+ {
+ return $this->resource;
+ }
+
+ /**
+ * Sets resource.
+ *
+ * @param Resource[]|null $resource
+ *
+ * @return $this
+ */
+ public function setResource(?array $resource = null): self
+ {
+ $this->resource = $resource;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/GeoResourcesDetailsWrapper.php b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesDetailsWrapper.php
new file mode 100644
index 0000000000..ec81f8d7df
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesDetailsWrapper.php
@@ -0,0 +1,95 @@
+geoResourcesDetails = array_key_exists('geoResourcesDetails', $data) ? $data['geoResourcesDetails'] : $this->geoResourcesDetails;
+ }
+ }
+
+ /**
+ * Gets geoResourcesDetails.
+ *
+ * @return GeoResourcesDetails|null
+ */
+ public function getGeoResourcesDetails(): ?GeoResourcesDetails
+ {
+ return $this->geoResourcesDetails;
+ }
+
+ /**
+ * Sets geoResourcesDetails.
+ *
+ * @param GeoResourcesDetails|null $geoResourcesDetails
+ *
+ * @return $this
+ */
+ public function setGeoResourcesDetails(?GeoResourcesDetails $geoResourcesDetails): self
+ {
+ $this->geoResourcesDetails = $geoResourcesDetails;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/GeoResourcesRequest.php b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesRequest.php
new file mode 100644
index 0000000000..0dedb902e2
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesRequest.php
@@ -0,0 +1,97 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $resourceId = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->resourceId = array_key_exists('resourceId', $data) ? $data['resourceId'] : $this->resourceId;
+ }
+ }
+
+ /**
+ * Gets resourceId.
+ *
+ * @return string[]|null
+ */
+ public function getResourceId(): ?array
+ {
+ return $this->resourceId;
+ }
+
+ /**
+ * Sets resourceId.
+ *
+ * @param string[]|null $resourceId
+ *
+ * @return $this
+ */
+ public function setResourceId(?array $resourceId): self
+ {
+ $this->resourceId = $resourceId;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/GeoResourcesRequestWrapper.php b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesRequestWrapper.php
new file mode 100644
index 0000000000..972f2fd394
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/GeoResourcesRequestWrapper.php
@@ -0,0 +1,95 @@
+geoResourcesRequest = array_key_exists('geoResourcesRequest', $data) ? $data['geoResourcesRequest'] : $this->geoResourcesRequest;
+ }
+ }
+
+ /**
+ * Gets geoResourcesRequest.
+ *
+ * @return GeoResourcesRequest|null
+ */
+ public function getGeoResourcesRequest(): ?GeoResourcesRequest
+ {
+ return $this->geoResourcesRequest;
+ }
+
+ /**
+ * Sets geoResourcesRequest.
+ *
+ * @param GeoResourcesRequest|null $geoResourcesRequest
+ *
+ * @return $this
+ */
+ public function setGeoResourcesRequest(?GeoResourcesRequest $geoResourcesRequest): self
+ {
+ $this->geoResourcesRequest = $geoResourcesRequest;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/Position.php b/generator_php-symfony/package/src/Model/geolocation/Position.php
new file mode 100644
index 0000000000..84412db9ba
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/Position.php
@@ -0,0 +1,444 @@
+resourceId = array_key_exists('resourceId', $data) ? $data['resourceId'] : $this->resourceId;
+ $this->datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->coord = array_key_exists('coord', $data) ? $data['coord'] : $this->coord;
+ $this->speed = array_key_exists('speed', $data) ? $data['speed'] : $this->speed;
+ $this->cap = array_key_exists('cap', $data) ? $data['cap'] : $this->cap;
+ $this->move = array_key_exists('move', $data) ? $data['move'] : $this->move;
+ $this->engineOn = array_key_exists('engineOn', $data) ? $data['engineOn'] : $this->engineOn;
+ $this->groundStatus = array_key_exists('groundStatus', $data) ? $data['groundStatus'] : $this->groundStatus;
+ $this->status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ $this->engagedStatus = array_key_exists('engagedStatus', $data) ? $data['engagedStatus'] : $this->engagedStatus;
+ }
+ }
+
+ /**
+ * Gets resourceId.
+ *
+ * @return string|null
+ */
+ public function getResourceId(): ?string
+ {
+ return $this->resourceId;
+ }
+
+ /**
+ * Sets resourceId.
+ *
+ * @param string|null $resourceId A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}
+ *
+ * @return $this
+ */
+ public function setResourceId(?string $resourceId): self
+ {
+ $this->resourceId = $resourceId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime Date et heure de réception des coordonnées transmises
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets coord.
+ *
+ * @return Coord|null
+ */
+ public function getCoord(): ?Coord
+ {
+ return $this->coord;
+ }
+
+ /**
+ * Sets coord.
+ *
+ * @param Coord|null $coord
+ *
+ * @return $this
+ */
+ public function setCoord(?Coord $coord): self
+ {
+ $this->coord = $coord;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets speed.
+ *
+ * @return float|null
+ */
+ public function getSpeed(): ?float
+ {
+ return $this->speed;
+ }
+
+ /**
+ * Sets speed.
+ *
+ * @param float|null $speed Vitesse de la ressource enregistrée, exprimée en km/h
+ *
+ * @return $this
+ */
+ public function setSpeed(?float $speed = null): self
+ {
+ $this->speed = $speed;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets cap.
+ *
+ * @return float|null
+ */
+ public function getCap(): ?float
+ {
+ return $this->cap;
+ }
+
+ /**
+ * Sets cap.
+ *
+ * @param float|null $cap Direction de la ressource, exprimé en degrés
+ *
+ * @return $this
+ */
+ public function setCap(?float $cap = null): self
+ {
+ $this->cap = $cap;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets move.
+ *
+ * @return string|null
+ */
+ public function getMove(): ?string
+ {
+ return $this->move;
+ }
+
+ /**
+ * Sets move.
+ *
+ * @param string|null $move Indique si la ressource est en mouvement (MOBILE) ou non (STATIQUE)
+ *
+ * @return $this
+ */
+ public function setMove(?string $move = null): self
+ {
+ $this->move = $move;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets engineOn.
+ *
+ * @return bool|null
+ */
+ public function isEngineOn(): ?bool
+ {
+ return $this->engineOn;
+ }
+
+ /**
+ * Sets engineOn.
+ *
+ * @param bool|null $engineOn Indique si le moteur de la ressource est éteint (FAUX) ou allumé/en marche (VRAI)
+ *
+ * @return $this
+ */
+ public function setEngineOn(?bool $engineOn = null): self
+ {
+ $this->engineOn = $engineOn;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets groundStatus.
+ *
+ * @return bool|null
+ */
+ public function isGroundStatus(): ?bool
+ {
+ return $this->groundStatus;
+ }
+
+ /**
+ * Sets groundStatus.
+ *
+ * @param bool|null $groundStatus Indique si l'hélicoptÚre est au sol (VRAI) ou en l'air (FAUX)
+ *
+ * @return $this
+ */
+ public function setGroundStatus(?bool $groundStatus = null): self
+ {
+ $this->groundStatus = $groundStatus;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status DĂ©finit le statut de disponibilitĂ© d'une ressource. - DISPONIBLE : Lorsque la ressource est disponible - INDISPONIBLE : Lorsque la ressource n'est pas disponible, celle-ci peut ĂȘtre engagĂ©e ou en maintenance - INCONNU : Lorsque le status est inconnu
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status = null): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets engagedStatus.
+ *
+ * @return string|null
+ */
+ public function getEngagedStatus(): ?string
+ {
+ return $this->engagedStatus;
+ }
+
+ /**
+ * Sets engagedStatus.
+ *
+ * @param string|null $engagedStatus Précise le statut d'une ressource qui est engagée sur une mission
+ *
+ * @return $this
+ */
+ public function setEngagedStatus(?string $engagedStatus = null): self
+ {
+ $this->engagedStatus = $engagedStatus;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/geolocation/Resource.php b/generator_php-symfony/package/src/Model/geolocation/Resource.php
new file mode 100644
index 0000000000..c34f5a3535
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/geolocation/Resource.php
@@ -0,0 +1,369 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\geolocation\Contact"),
+ ])]
+ protected ?array $contacts = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->resourceId = array_key_exists('resourceId', $data) ? $data['resourceId'] : $this->resourceId;
+ $this->orgId = array_key_exists('orgId', $data) ? $data['orgId'] : $this->orgId;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->resourceType = array_key_exists('resourceType', $data) ? $data['resourceType'] : $this->resourceType;
+ $this->nature = array_key_exists('nature', $data) ? $data['nature'] : $this->nature;
+ $this->mobility = array_key_exists('mobility', $data) ? $data['mobility'] : $this->mobility;
+ $this->capacity = array_key_exists('capacity', $data) ? $data['capacity'] : $this->capacity;
+ $this->contacts = array_key_exists('contacts', $data) ? $data['contacts'] : $this->contacts;
+ }
+ }
+
+ /**
+ * Gets resourceId.
+ *
+ * @return string|null
+ */
+ public function getResourceId(): ?string
+ {
+ return $this->resourceId;
+ }
+
+ /**
+ * Sets resourceId.
+ *
+ * @param string|null $resourceId A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}
+ *
+ * @return $this
+ */
+ public function setResourceId(?string $resourceId): self
+ {
+ $this->resourceId = $resourceId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets orgId.
+ *
+ * @return string|null
+ */
+ public function getOrgId(): ?string
+ {
+ return $this->orgId;
+ }
+
+ /**
+ * Sets orgId.
+ *
+ * @param string|null $orgId Identifiant unique de l'organisme : {pays}.{domaine}.{organisation}.{structure interne}*.{unité fonctionnelle}* *données facultatives
+ *
+ * @return $this
+ */
+ public function setOrgId(?string $orgId): self
+ {
+ $this->orgId = $orgId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name Nom donnĂ© Ă la ressource par l'organisme propriĂ©taire. L'immatriculation peut ĂȘtre utilisĂ©e dans le nom courant des vĂ©hicules.
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets resourceType.
+ *
+ * @return string|null
+ */
+ public function getResourceType(): ?string
+ {
+ return $this->resourceType;
+ }
+
+ /**
+ * Sets resourceType.
+ *
+ * @param string|null $resourceType Catégorie de la ressource (SMUR, SDIS, TSU, SNP, MSPE, navire)
+ *
+ * @return $this
+ */
+ public function setResourceType(?string $resourceType): self
+ {
+ $this->resourceType = $resourceType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nature.
+ *
+ * @return string|null
+ */
+ public function getNature(): ?string
+ {
+ return $this->nature;
+ }
+
+ /**
+ * Sets nature.
+ *
+ * @param string|null $nature Nature de la ressource (effecteur, base)
+ *
+ * @return $this
+ */
+ public function setNature(?string $nature = null): self
+ {
+ $this->nature = $nature;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mobility.
+ *
+ * @return string|null
+ */
+ public function getMobility(): ?string
+ {
+ return $this->mobility;
+ }
+
+ /**
+ * Sets mobility.
+ *
+ * @param string|null $mobility Mobilité de la ressource (fixe, vehicule, heliporté, navire)
+ *
+ * @return $this
+ */
+ public function setMobility(?string $mobility = null): self
+ {
+ $this->mobility = $mobility;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets capacity.
+ *
+ * @return string|null
+ */
+ public function getCapacity(): ?string
+ {
+ return $this->capacity;
+ }
+
+ /**
+ * Sets capacity.
+ *
+ * @param string|null $capacity Capacité de transport d'un patient
+ *
+ * @return $this
+ */
+ public function setCapacity(?string $capacity = null): self
+ {
+ $this->capacity = $capacity;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets contacts.
+ *
+ * @return Contact[]|null
+ */
+ public function getContacts(): ?array
+ {
+ return $this->contacts;
+ }
+
+ /**
+ * Sets contacts.
+ *
+ * @param Contact[]|null $contacts
+ *
+ * @return $this
+ */
+ public function setContacts(?array $contacts = null): self
+ {
+ $this->contacts = $contacts;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Access.php b/generator_php-symfony/package/src/Model/health/Access.php
new file mode 100644
index 0000000000..1ee65183bf
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Access.php
@@ -0,0 +1,400 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $accessCode = null;
+
+ /**
+ * A valoriser avec le nom ou le numéro de l'ascenseur ou de la cage d'escalier
+ *
+ * @var string|null
+ * @SerializedName("elevator")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $elevator = null;
+
+ /**
+ * A valoriser avec le nom du bĂątiment
+ *
+ * @var string|null
+ * @SerializedName("buildingName")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $buildingName = null;
+
+ /**
+ * A valoriser avec le nom de l'entrée
+ *
+ * @var string|null
+ * @SerializedName("entrance")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $entrance = null;
+
+ /**
+ * A valoriser avec le nom du service concerné au sein de l'établissement : infirmerie, service finance, service comptabilité.
+ *
+ * @var string|null
+ * @SerializedName("entity")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $entity = null;
+
+ /**
+ * A valoriser avec le numéro de téléphone du lieu de l'intervention, par exemple : téléphone du secrétariat, téléphone du service administratif ou se trouve le patient/ la victime. Le format attendu est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @var string|null
+ * @SerializedName("phoneNumber")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^\\+\\d{5,18}$/")]
+ protected ?string $phoneNumber = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->floor = array_key_exists('floor', $data) ? $data['floor'] : $this->floor;
+ $this->roomNumber = array_key_exists('roomNumber', $data) ? $data['roomNumber'] : $this->roomNumber;
+ $this->interphone = array_key_exists('interphone', $data) ? $data['interphone'] : $this->interphone;
+ $this->accessCode = array_key_exists('accessCode', $data) ? $data['accessCode'] : $this->accessCode;
+ $this->elevator = array_key_exists('elevator', $data) ? $data['elevator'] : $this->elevator;
+ $this->buildingName = array_key_exists('buildingName', $data) ? $data['buildingName'] : $this->buildingName;
+ $this->entrance = array_key_exists('entrance', $data) ? $data['entrance'] : $this->entrance;
+ $this->entity = array_key_exists('entity', $data) ? $data['entity'] : $this->entity;
+ $this->phoneNumber = array_key_exists('phoneNumber', $data) ? $data['phoneNumber'] : $this->phoneNumber;
+ }
+ }
+
+ /**
+ * Gets floor.
+ *
+ * @return string|null
+ */
+ public function getFloor(): ?string
+ {
+ return $this->floor;
+ }
+
+ /**
+ * Sets floor.
+ *
+ * @param string|null $floor A valoriser avec le numéro ou nom de l'étage
+ *
+ * @return $this
+ */
+ public function setFloor(?string $floor = null): self
+ {
+ $this->floor = $floor;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets roomNumber.
+ *
+ * @return string|null
+ */
+ public function getRoomNumber(): ?string
+ {
+ return $this->roomNumber;
+ }
+
+ /**
+ * Sets roomNumber.
+ *
+ * @param string|null $roomNumber A valoriser avec le numéro d'appartement, de chambre, de bureau
+ *
+ * @return $this
+ */
+ public function setRoomNumber(?string $roomNumber = null): self
+ {
+ $this->roomNumber = $roomNumber;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets interphone.
+ *
+ * @return string|null
+ */
+ public function getInterphone(): ?string
+ {
+ return $this->interphone;
+ }
+
+ /**
+ * Sets interphone.
+ *
+ * @param string|null $interphone A valoriser avec les informations nécessaires à l'identification de l'interphone (numéro, nom)
+ *
+ * @return $this
+ */
+ public function setInterphone(?string $interphone = null): self
+ {
+ $this->interphone = $interphone;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets accessCode.
+ *
+ * @return string[]|null
+ */
+ public function getAccessCode(): ?array
+ {
+ return $this->accessCode;
+ }
+
+ /**
+ * Sets accessCode.
+ *
+ * @param string[]|null $accessCode
+ *
+ * @return $this
+ */
+ public function setAccessCode(?array $accessCode = null): self
+ {
+ $this->accessCode = $accessCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets elevator.
+ *
+ * @return string|null
+ */
+ public function getElevator(): ?string
+ {
+ return $this->elevator;
+ }
+
+ /**
+ * Sets elevator.
+ *
+ * @param string|null $elevator A valoriser avec le nom ou le numéro de l'ascenseur ou de la cage d'escalier
+ *
+ * @return $this
+ */
+ public function setElevator(?string $elevator = null): self
+ {
+ $this->elevator = $elevator;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets buildingName.
+ *
+ * @return string|null
+ */
+ public function getBuildingName(): ?string
+ {
+ return $this->buildingName;
+ }
+
+ /**
+ * Sets buildingName.
+ *
+ * @param string|null $buildingName A valoriser avec le nom du bĂątiment
+ *
+ * @return $this
+ */
+ public function setBuildingName(?string $buildingName = null): self
+ {
+ $this->buildingName = $buildingName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets entrance.
+ *
+ * @return string|null
+ */
+ public function getEntrance(): ?string
+ {
+ return $this->entrance;
+ }
+
+ /**
+ * Sets entrance.
+ *
+ * @param string|null $entrance A valoriser avec le nom de l'entrée
+ *
+ * @return $this
+ */
+ public function setEntrance(?string $entrance = null): self
+ {
+ $this->entrance = $entrance;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets entity.
+ *
+ * @return string|null
+ */
+ public function getEntity(): ?string
+ {
+ return $this->entity;
+ }
+
+ /**
+ * Sets entity.
+ *
+ * @param string|null $entity A valoriser avec le nom du service concerné au sein de l'établissement : infirmerie, service finance, service comptabilité.
+ *
+ * @return $this
+ */
+ public function setEntity(?string $entity = null): self
+ {
+ $this->entity = $entity;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets phoneNumber.
+ *
+ * @return string|null
+ */
+ public function getPhoneNumber(): ?string
+ {
+ return $this->phoneNumber;
+ }
+
+ /**
+ * Sets phoneNumber.
+ *
+ * @param string|null $phoneNumber A valoriser avec le numéro de téléphone du lieu de l'intervention, par exemple : téléphone du secrétariat, téléphone du service administratif ou se trouve le patient/ la victime. Le format attendu est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @return $this
+ */
+ public function setPhoneNumber(?string $phoneNumber = null): self
+ {
+ $this->phoneNumber = $phoneNumber;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/AdditionalInformation.php b/generator_php-symfony/package/src/Model/health/AdditionalInformation.php
new file mode 100644
index 0000000000..73f884c175
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/AdditionalInformation.php
@@ -0,0 +1,96 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\CustomMap"),
+ ])]
+ #[Assert\Count(max: 3)]
+ protected ?array $customMap = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->customMap = array_key_exists('customMap', $data) ? $data['customMap'] : $this->customMap;
+ }
+ }
+
+ /**
+ * Gets customMap.
+ *
+ * @return CustomMap[]|null
+ */
+ public function getCustomMap(): ?array
+ {
+ return $this->customMap;
+ }
+
+ /**
+ * Sets customMap.
+ *
+ * @param CustomMap[]|null $customMap
+ *
+ * @return $this
+ */
+ public function setCustomMap(?array $customMap = null): self
+ {
+ $this->customMap = $customMap;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/AdministrativeFile.php b/generator_php-symfony/package/src/Model/health/AdministrativeFile.php
new file mode 100644
index 0000000000..7a557e67ec
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/AdministrativeFile.php
@@ -0,0 +1,131 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\ExternalId"),
+ ])]
+ protected ?array $externalId = null;
+
+ /**
+ * @var GeneralPractitioner|null
+ * @SerializedName("generalPractitioner")
+ * @Type("Hubsante\Model\health\GeneralPractitioner")
+ */
+ #[Assert\Type("Hubsante\Model\health\GeneralPractitioner")]
+ protected ?GeneralPractitioner $generalPractitioner = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->externalId = array_key_exists('externalId', $data) ? $data['externalId'] : $this->externalId;
+ $this->generalPractitioner = array_key_exists('generalPractitioner', $data) ? $data['generalPractitioner'] : $this->generalPractitioner;
+ }
+ }
+
+ /**
+ * Gets externalId.
+ *
+ * @return ExternalId[]|null
+ */
+ public function getExternalId(): ?array
+ {
+ return $this->externalId;
+ }
+
+ /**
+ * Sets externalId.
+ *
+ * @param ExternalId[]|null $externalId
+ *
+ * @return $this
+ */
+ public function setExternalId(?array $externalId = null): self
+ {
+ $this->externalId = $externalId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets generalPractitioner.
+ *
+ * @return GeneralPractitioner|null
+ */
+ public function getGeneralPractitioner(): ?GeneralPractitioner
+ {
+ return $this->generalPractitioner;
+ }
+
+ /**
+ * Sets generalPractitioner.
+ *
+ * @param GeneralPractitioner|null $generalPractitioner
+ *
+ * @return $this
+ */
+ public function setGeneralPractitioner(?GeneralPractitioner $generalPractitioner = null): self
+ {
+ $this->generalPractitioner = $generalPractitioner;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Alert.php b/generator_php-symfony/package/src/Model/health/Alert.php
new file mode 100644
index 0000000000..86a555a253
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Alert.php
@@ -0,0 +1,173 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\Notes"),
+ ])]
+ protected ?array $notes = null;
+
+ /**
+ * @var Caller|null
+ * @SerializedName("caller")
+ * @Type("Hubsante\Model\health\Caller")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\Type("Hubsante\Model\health\Caller")]
+ protected ?Caller $caller = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->reception = array_key_exists('reception', $data) ? $data['reception'] : $this->reception;
+ $this->notes = array_key_exists('notes', $data) ? $data['notes'] : $this->notes;
+ $this->caller = array_key_exists('caller', $data) ? $data['caller'] : $this->caller;
+ }
+ }
+
+ /**
+ * Gets reception.
+ *
+ * @return \DateTime|null
+ */
+ public function getReception(): ?\DateTime
+ {
+ return $this->reception;
+ }
+
+ /**
+ * Sets reception.
+ *
+ * @param \DateTime|null $reception A valoriser avec le groupe date heure de réception de l'alerte/appel
+ *
+ * @return $this
+ */
+ public function setReception(?\DateTime $reception): self
+ {
+ $this->reception = $reception;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets notes.
+ *
+ * @return Notes[]|null
+ */
+ public function getNotes(): ?array
+ {
+ return $this->notes;
+ }
+
+ /**
+ * Sets notes.
+ *
+ * @param Notes[]|null $notes
+ *
+ * @return $this
+ */
+ public function setNotes(?array $notes = null): self
+ {
+ $this->notes = $notes;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets caller.
+ *
+ * @return Caller|null
+ */
+ public function getCaller(): ?Caller
+ {
+ return $this->caller;
+ }
+
+ /**
+ * Sets caller.
+ *
+ * @param Caller|null $caller
+ *
+ * @return $this
+ */
+ public function setCaller(?Caller $caller): self
+ {
+ $this->caller = $caller;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Caller.php b/generator_php-symfony/package/src/Model/health/Caller.php
new file mode 100644
index 0000000000..40770383af
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Caller.php
@@ -0,0 +1,322 @@
+callerContact = array_key_exists('callerContact', $data) ? $data['callerContact'] : $this->callerContact;
+ $this->callbackContact = array_key_exists('callbackContact', $data) ? $data['callbackContact'] : $this->callbackContact;
+ $this->language = array_key_exists('language', $data) ? $data['language'] : $this->language;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->communication = array_key_exists('communication', $data) ? $data['communication'] : $this->communication;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ $this->detailedName = array_key_exists('detailedName', $data) ? $data['detailedName'] : $this->detailedName;
+ }
+ }
+
+ /**
+ * Gets callerContact.
+ *
+ * @return Contact|null
+ */
+ public function getCallerContact(): ?Contact
+ {
+ return $this->callerContact;
+ }
+
+ /**
+ * Sets callerContact.
+ *
+ * @param Contact|null $callerContact
+ *
+ * @return $this
+ */
+ public function setCallerContact(?Contact $callerContact): self
+ {
+ $this->callerContact = $callerContact;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets callbackContact.
+ *
+ * @return Contact|null
+ */
+ public function getCallbackContact(): ?Contact
+ {
+ return $this->callbackContact;
+ }
+
+ /**
+ * Sets callbackContact.
+ *
+ * @param Contact|null $callbackContact
+ *
+ * @return $this
+ */
+ public function setCallbackContact(?Contact $callbackContact = null): self
+ {
+ $this->callbackContact = $callbackContact;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets language.
+ *
+ * @return string|null
+ */
+ public function getLanguage(): ?string
+ {
+ return $this->language;
+ }
+
+ /**
+ * Sets language.
+ *
+ * @param string|null $language A valoriser avec la langue parlée par le requérant. cf.nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setLanguage(?string $language = null): self
+ {
+ $this->language = $language;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec la relation du requérant avec l'incident / le patient / la victime. cf. nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets communication.
+ *
+ * @return string|null
+ */
+ public function getCommunication(): ?string
+ {
+ return $this->communication;
+ }
+
+ /**
+ * Sets communication.
+ *
+ * @param string|null $communication A valoriser avec la nature des éventuelles difficultés de communication rencontrées par le requérant. cf.nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setCommunication(?string $communication = null): self
+ {
+ $this->communication = $communication;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Champ libre qui permet de compléter les informations spécifiquement liées au requérant.
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detailedName.
+ *
+ * @return DetailedName|null
+ */
+ public function getDetailedName(): ?DetailedName
+ {
+ return $this->detailedName;
+ }
+
+ /**
+ * Sets detailedName.
+ *
+ * @param DetailedName|null $detailedName
+ *
+ * @return $this
+ */
+ public function setDetailedName(?DetailedName $detailedName = null): self
+ {
+ $this->detailedName = $detailedName;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/CaseDetails.php b/generator_php-symfony/package/src/Model/health/CaseDetails.php
new file mode 100644
index 0000000000..0fad0cb1d2
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/CaseDetails.php
@@ -0,0 +1,213 @@
+status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ $this->attribution = array_key_exists('attribution', $data) ? $data['attribution'] : $this->attribution;
+ $this->priority = array_key_exists('priority', $data) ? $data['priority'] : $this->priority;
+ $this->careLevel = array_key_exists('careLevel', $data) ? $data['careLevel'] : $this->careLevel;
+ }
+ }
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status A valoriser avec l'Ă©tat du dossier dans le systĂšme Ă©metteur SpĂ©cificitĂ© 15-15 : peut ĂȘtre ignorĂ© en rĂ©ception, partagĂ© Ă titre indicatif uniquement SpĂ©cificitĂ© 15-SMUR : Ă utiliser Ă minima pour transmettre le statut CLOTURE Ă la tablette
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status = null): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets attribution.
+ *
+ * @return string|null
+ */
+ public function getAttribution(): ?string
+ {
+ return $this->attribution;
+ }
+
+ /**
+ * Sets attribution.
+ *
+ * @param string|null $attribution Décrit le type de professionnel médical à qui le dossier est attribué : médecin généraliste, médecin urgentiste etc.
+ *
+ * @return $this
+ */
+ public function setAttribution(?string $attribution = null): self
+ {
+ $this->attribution = $attribution;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets priority.
+ *
+ * @return string|null
+ */
+ public function getPriority(): ?string
+ {
+ return $this->priority;
+ }
+
+ /**
+ * Sets priority.
+ *
+ * @param string|null $priority Décrit la priorité de régulation médicale du dossier : P0, P1, P2, P3
+ *
+ * @return $this
+ */
+ public function setPriority(?string $priority = null): self
+ {
+ $this->priority = $priority;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets careLevel.
+ *
+ * @return string|null
+ */
+ public function getCareLevel(): ?string
+ {
+ return $this->careLevel;
+ }
+
+ /**
+ * Sets careLevel.
+ *
+ * @param string|null $careLevel Décrit le niveau de soins global du dossier identifié au cours de l'acte de régulation médicale : s'il y a plusieurs niveaux de soins différents pour chaque patient, on indique ici le niveau le plus grave. cf.nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setCareLevel(?string $careLevel = null): self
+ {
+ $this->careLevel = $careLevel;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/City.php b/generator_php-symfony/package/src/Model/health/City.php
new file mode 100644
index 0000000000..8b9ceb5aa2
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/City.php
@@ -0,0 +1,134 @@
+name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->inseeCode = array_key_exists('inseeCode', $data) ? $data['inseeCode'] : $this->inseeCode;
+ }
+ }
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom officiel de la commune
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets inseeCode.
+ *
+ * @return string|null
+ */
+ public function getInseeCode(): ?string
+ {
+ return $this->inseeCode;
+ }
+
+ /**
+ * Sets inseeCode.
+ *
+ * @param string|null $inseeCode A valoriser avec le code INSEE de la commune actuelle sur la base du Code Officiel géographique en vigueur. La valeur du code INSEE est obligatoire dÚs que le nom de la commune est renseigné (city.name).
+ *
+ * @return $this
+ */
+ public function setInseeCode(?string $inseeCode = null): self
+ {
+ $this->inseeCode = $inseeCode;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Contact.php b/generator_php-symfony/package/src/Model/health/Contact.php
new file mode 100644
index 0000000000..28bf488b11
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Contact.php
@@ -0,0 +1,176 @@
+channel = array_key_exists('channel', $data) ? $data['channel'] : $this->channel;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->detail = array_key_exists('detail', $data) ? $data['detail'] : $this->detail;
+ }
+ }
+
+ /**
+ * Gets channel.
+ *
+ * @return string|null
+ */
+ public function getChannel(): ?string
+ {
+ return $this->channel;
+ }
+
+ /**
+ * Sets channel.
+ *
+ * @param string|null $channel A valoriser avec l'origine du canal établi : PERSONNE, APPLICATION, DAU, BAU, DEFIBRILLATEUR, ECALL
+ *
+ * @return $this
+ */
+ public function setChannel(?string $channel): self
+ {
+ $this->channel = $channel;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setType(?string $type): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detail.
+ *
+ * @return string|null
+ */
+ public function getDetail(): ?string
+ {
+ return $this->detail;
+ }
+
+ /**
+ * Sets detail.
+ *
+ * @param string|null $detail A valoriser avec la valeur de l'URI utilisée. Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @return $this
+ */
+ public function setDetail(?string $detail): self
+ {
+ $this->detail = $detail;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Coord.php b/generator_php-symfony/package/src/Model/health/Coord.php
new file mode 100644
index 0000000000..dfa6b5258c
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Coord.php
@@ -0,0 +1,213 @@
+lat = array_key_exists('lat', $data) ? $data['lat'] : $this->lat;
+ $this->lon = array_key_exists('lon', $data) ? $data['lon'] : $this->lon;
+ $this->height = array_key_exists('height', $data) ? $data['height'] : $this->height;
+ $this->precision = array_key_exists('precision', $data) ? $data['precision'] : $this->precision;
+ }
+ }
+
+ /**
+ * Gets lat.
+ *
+ * @return float|null
+ */
+ public function getLat(): ?float
+ {
+ return $this->lat;
+ }
+
+ /**
+ * Sets lat.
+ *
+ * @param float|null $lat A valoriser avec la latitude du point clé de la localisation - dans le systÚme de coordonnées EPSG-4326 (indiquant l'utilisation de WGS-84)
+ *
+ * @return $this
+ */
+ public function setLat(?float $lat): self
+ {
+ $this->lat = $lat;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lon.
+ *
+ * @return float|null
+ */
+ public function getLon(): ?float
+ {
+ return $this->lon;
+ }
+
+ /**
+ * Sets lon.
+ *
+ * @param float|null $lon A valoriser avec la longitude du point clé de la localisation - dans le systÚme de coordonnées EPSG-4326 (indiquant l'utilisation de WGS-84)
+ *
+ * @return $this
+ */
+ public function setLon(?float $lon): self
+ {
+ $this->lon = $lon;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets height.
+ *
+ * @return float|null
+ */
+ public function getHeight(): ?float
+ {
+ return $this->height;
+ }
+
+ /**
+ * Sets height.
+ *
+ * @param float|null $height A valoriser avec l'altitude du point clé de la localisation, en mÚtres. Spécificité 15-18 : ignoré cÎté NexSIS.
+ *
+ * @return $this
+ */
+ public function setHeight(?float $height = null): self
+ {
+ $this->height = $height;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets precision.
+ *
+ * @return string|null
+ */
+ public function getPrecision(): ?string
+ {
+ return $this->precision;
+ }
+
+ /**
+ * Sets precision.
+ *
+ * @param string|null $precision Indique via une nomenclature le niveau de précision des coordonnées fournies par le systÚme emetteur. VILLE : Précision à l'échelle de la ville, RUE : Précision à l'échelle de la rue, ADRESSE : Adresse précise, EXACTE : Point coordonnée GPS exact, INCONNUE : Précision de la localisation non évaluable par l'émetteur
+ *
+ * @return $this
+ */
+ public function setPrecision(?string $precision): self
+ {
+ $this->precision = $precision;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/CreateCaseHealth.php b/generator_php-symfony/package/src/Model/health/CreateCaseHealth.php
new file mode 100644
index 0000000000..ccce825fd4
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/CreateCaseHealth.php
@@ -0,0 +1,555 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\Patient"),
+ ])]
+ protected ?array $patient = null;
+
+ /**
+ * @var MedicalNote[]|null
+ * @SerializedName("medicalNote")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\MedicalNote"),
+ ])]
+ protected ?array $medicalNote = null;
+
+ /**
+ * @var Decision[]|null
+ * @SerializedName("decision")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\Decision"),
+ ])]
+ protected ?array $decision = null;
+
+ /**
+ * @var AdditionalInformation|null
+ * @SerializedName("additionalInformation")
+ * @Type("Hubsante\Model\health\AdditionalInformation")
+ */
+ #[Assert\Type("Hubsante\Model\health\AdditionalInformation")]
+ protected ?AdditionalInformation $additionalInformation = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->senderCaseId = array_key_exists('senderCaseId', $data) ? $data['senderCaseId'] : $this->senderCaseId;
+ $this->creation = array_key_exists('creation', $data) ? $data['creation'] : $this->creation;
+ $this->perimeter = array_key_exists('perimeter', $data) ? $data['perimeter'] : $this->perimeter;
+ $this->interventionType = array_key_exists('interventionType', $data) ? $data['interventionType'] : $this->interventionType;
+ $this->qualification = array_key_exists('qualification', $data) ? $data['qualification'] : $this->qualification;
+ $this->location = array_key_exists('location', $data) ? $data['location'] : $this->location;
+ $this->initialAlert = array_key_exists('initialAlert', $data) ? $data['initialAlert'] : $this->initialAlert;
+ $this->owner = array_key_exists('owner', $data) ? $data['owner'] : $this->owner;
+ $this->patient = array_key_exists('patient', $data) ? $data['patient'] : $this->patient;
+ $this->medicalNote = array_key_exists('medicalNote', $data) ? $data['medicalNote'] : $this->medicalNote;
+ $this->decision = array_key_exists('decision', $data) ? $data['decision'] : $this->decision;
+ $this->additionalInformation = array_key_exists('additionalInformation', $data) ? $data['additionalInformation'] : $this->additionalInformation;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId Identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets senderCaseId.
+ *
+ * @return string|null
+ */
+ public function getSenderCaseId(): ?string
+ {
+ return $this->senderCaseId;
+ }
+
+ /**
+ * Sets senderCaseId.
+ *
+ * @param string|null $senderCaseId A valoriser avec le numéro du dossier dans le SI de l'émetteur du message.
+ *
+ * @return $this
+ */
+ public function setSenderCaseId(?string $senderCaseId = null): self
+ {
+ $this->senderCaseId = $senderCaseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets creation.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreation(): ?\DateTime
+ {
+ return $this->creation;
+ }
+
+ /**
+ * Sets creation.
+ *
+ * @param \DateTime|null $creation A valoriser avec le groupe date heure de crĂ©ation du dossier/affaire. SpĂ©cificitĂ© 15-18 : A valoriser avec le groupe date heure de dĂ©but de partage liĂ© Ă la crĂ©ation de l'affaire (et donc de gĂ©nĂ©ration du caseId). Lors de l'ajout d'une nouvelle alerte, la valeur de ce champ ne doit pas ĂȘtre modifiĂ©e. L'indicateur de fuseau horaire Z ne doit pas ĂȘtre utilisĂ©. Il doit ĂȘtre renseignĂ© Ă la fin du processus de la crĂ©ation de la premiĂšre alerte.
+ *
+ * @return $this
+ */
+ public function setCreation(?\DateTime $creation): self
+ {
+ $this->creation = $creation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets perimeter.
+ *
+ * @return string|null
+ */
+ public function getPerimeter(): ?string
+ {
+ return $this->perimeter;
+ }
+
+ /**
+ * Sets perimeter.
+ *
+ * @param string|null $perimeter Sert Ă indiquer Ă quelle filiĂšre du CRRA destinataire le dossier doit ĂȘtre adressĂ©/affichĂ©, lorsque celle-ci est spĂ©cifique ou dĂ©diĂ©e.
+ *
+ * @return $this
+ */
+ public function setPerimeter(?string $perimeter = null): self
+ {
+ $this->perimeter = $perimeter;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets interventionType.
+ *
+ * @return string|null
+ */
+ public function getInterventionType(): ?string
+ {
+ return $this->interventionType;
+ }
+
+ /**
+ * Sets interventionType.
+ *
+ * @param string|null $interventionType A valoriser en indiquant s'il s'agit d'un dossier dit primaire (premiĂšre intervention urgente) ou secondaire (par exemple TIH)
+ *
+ * @return $this
+ */
+ public function setInterventionType(?string $interventionType = null): self
+ {
+ $this->interventionType = $interventionType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets qualification.
+ *
+ * @return Qualification|null
+ */
+ public function getQualification(): ?Qualification
+ {
+ return $this->qualification;
+ }
+
+ /**
+ * Sets qualification.
+ *
+ * @param Qualification|null $qualification
+ *
+ * @return $this
+ */
+ public function setQualification(?Qualification $qualification): self
+ {
+ $this->qualification = $qualification;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets location.
+ *
+ * @return Location|null
+ */
+ public function getLocation(): ?Location
+ {
+ return $this->location;
+ }
+
+ /**
+ * Sets location.
+ *
+ * @param Location|null $location
+ *
+ * @return $this
+ */
+ public function setLocation(?Location $location): self
+ {
+ $this->location = $location;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets initialAlert.
+ *
+ * @return Alert|null
+ */
+ public function getInitialAlert(): ?Alert
+ {
+ return $this->initialAlert;
+ }
+
+ /**
+ * Sets initialAlert.
+ *
+ * @param Alert|null $initialAlert
+ *
+ * @return $this
+ */
+ public function setInitialAlert(?Alert $initialAlert = null): self
+ {
+ $this->initialAlert = $initialAlert;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets owner.
+ *
+ * @return string|null
+ */
+ public function getOwner(): ?string
+ {
+ return $this->owner;
+ }
+
+ /**
+ * Sets owner.
+ *
+ * @param string|null $owner Attribut qui permet de transférer la prise en charge d'un dossier à un autre CRAA A valoriser avec l'identifiant de l'organisation concerné (orgId = {pays}.{domaine}.{organisation})
+ *
+ * @return $this
+ */
+ public function setOwner(?string $owner): self
+ {
+ $this->owner = $owner;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets patient.
+ *
+ * @return Patient[]|null
+ */
+ public function getPatient(): ?array
+ {
+ return $this->patient;
+ }
+
+ /**
+ * Sets patient.
+ *
+ * @param Patient[]|null $patient
+ *
+ * @return $this
+ */
+ public function setPatient(?array $patient = null): self
+ {
+ $this->patient = $patient;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets medicalNote.
+ *
+ * @return MedicalNote[]|null
+ */
+ public function getMedicalNote(): ?array
+ {
+ return $this->medicalNote;
+ }
+
+ /**
+ * Sets medicalNote.
+ *
+ * @param MedicalNote[]|null $medicalNote
+ *
+ * @return $this
+ */
+ public function setMedicalNote(?array $medicalNote = null): self
+ {
+ $this->medicalNote = $medicalNote;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets decision.
+ *
+ * @return Decision[]|null
+ */
+ public function getDecision(): ?array
+ {
+ return $this->decision;
+ }
+
+ /**
+ * Sets decision.
+ *
+ * @param Decision[]|null $decision
+ *
+ * @return $this
+ */
+ public function setDecision(?array $decision = null): self
+ {
+ $this->decision = $decision;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets additionalInformation.
+ *
+ * @return AdditionalInformation|null
+ */
+ public function getAdditionalInformation(): ?AdditionalInformation
+ {
+ return $this->additionalInformation;
+ }
+
+ /**
+ * Sets additionalInformation.
+ *
+ * @param AdditionalInformation|null $additionalInformation
+ *
+ * @return $this
+ */
+ public function setAdditionalInformation(?AdditionalInformation $additionalInformation = null): self
+ {
+ $this->additionalInformation = $additionalInformation;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/CreateCaseHealthWrapper.php b/generator_php-symfony/package/src/Model/health/CreateCaseHealthWrapper.php
new file mode 100644
index 0000000000..02540bf0ca
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/CreateCaseHealthWrapper.php
@@ -0,0 +1,95 @@
+createCaseHealth = array_key_exists('createCaseHealth', $data) ? $data['createCaseHealth'] : $this->createCaseHealth;
+ }
+ }
+
+ /**
+ * Gets createCaseHealth.
+ *
+ * @return CreateCaseHealth|null
+ */
+ public function getCreateCaseHealth(): ?CreateCaseHealth
+ {
+ return $this->createCaseHealth;
+ }
+
+ /**
+ * Sets createCaseHealth.
+ *
+ * @param CreateCaseHealth|null $createCaseHealth
+ *
+ * @return $this
+ */
+ public function setCreateCaseHealth(?CreateCaseHealth $createCaseHealth): self
+ {
+ $this->createCaseHealth = $createCaseHealth;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/CustomMap.php b/generator_php-symfony/package/src/Model/health/CustomMap.php
new file mode 100644
index 0000000000..a9099a4830
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/CustomMap.php
@@ -0,0 +1,211 @@
+key = array_key_exists('key', $data) ? $data['key'] : $this->key;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ $this->value = array_key_exists('value', $data) ? $data['value'] : $this->value;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets key.
+ *
+ * @return string|null
+ */
+ public function getKey(): ?string
+ {
+ return $this->key;
+ }
+
+ /**
+ * Sets key.
+ *
+ * @param string|null $key A valoriser avec le nom de la balise
+ *
+ * @return $this
+ */
+ public function setKey(?string $key): self
+ {
+ $this->key = $key;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellé correspondant
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label = null): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets value.
+ *
+ * @return string|null
+ */
+ public function getValue(): ?string
+ {
+ return $this->value;
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param string|null $value A valoriser avec la valeur associée à la clé
+ *
+ * @return $this
+ */
+ public function setValue(?string $value): self
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Informations complémentaires sur le contexte / utilisation de cette correspondance additionnelle
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Decision.php b/generator_php-symfony/package/src/Model/health/Decision.php
new file mode 100644
index 0000000000..41507558a7
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Decision.php
@@ -0,0 +1,365 @@
+patientId = array_key_exists('patientId', $data) ? $data['patientId'] : $this->patientId;
+ $this->creation = array_key_exists('creation', $data) ? $data['creation'] : $this->creation;
+ $this->operator = array_key_exists('operator', $data) ? $data['operator'] : $this->operator;
+ $this->decisionType = array_key_exists('decisionType', $data) ? $data['decisionType'] : $this->decisionType;
+ $this->resourceType = array_key_exists('resourceType', $data) ? $data['resourceType'] : $this->resourceType;
+ $this->medicalTransport = array_key_exists('medicalTransport', $data) ? $data['medicalTransport'] : $this->medicalTransport;
+ $this->orientationType = array_key_exists('orientationType', $data) ? $data['orientationType'] : $this->orientationType;
+ $this->destination = array_key_exists('destination', $data) ? $data['destination'] : $this->destination;
+ }
+ }
+
+ /**
+ * Gets patientId.
+ *
+ * @return string|null
+ */
+ public function getPatientId(): ?string
+ {
+ return $this->patientId;
+ }
+
+ /**
+ * Sets patientId.
+ *
+ * @param string|null $patientId A valoriser avec l'ID partagé du patient concerné par la décision, à chaque fois que la décision est liée à un patient dans le systÚme émetteur
+ *
+ * @return $this
+ */
+ public function setPatientId(?string $patientId = null): self
+ {
+ $this->patientId = $patientId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets creation.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreation(): ?\DateTime
+ {
+ return $this->creation;
+ }
+
+ /**
+ * Sets creation.
+ *
+ * @param \DateTime|null $creation A valoriser avec le groupe date heure de crĂ©ation de la dĂ©cision. L'indicateur de fuseau horaire Z ne doit pas ĂȘtre utilisĂ©.
+ *
+ * @return $this
+ */
+ public function setCreation(?\DateTime $creation): self
+ {
+ $this->creation = $creation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets operator.
+ *
+ * @return Operator|null
+ */
+ public function getOperator(): ?Operator
+ {
+ return $this->operator;
+ }
+
+ /**
+ * Sets operator.
+ *
+ * @param Operator|null $operator
+ *
+ * @return $this
+ */
+ public function setOperator(?Operator $operator): self
+ {
+ $this->operator = $operator;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets decisionType.
+ *
+ * @return string|null
+ */
+ public function getDecisionType(): ?string
+ {
+ return $this->decisionType;
+ }
+
+ /**
+ * Sets decisionType.
+ *
+ * @param string|null $decisionType A valoriser avec le type de décision prise (cf.nomenclature associée)
+ *
+ * @return $this
+ */
+ public function setDecisionType(?string $decisionType): self
+ {
+ $this->decisionType = $decisionType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets resourceType.
+ *
+ * @return string|null
+ */
+ public function getResourceType(): ?string
+ {
+ return $this->resourceType;
+ }
+
+ /**
+ * Sets resourceType.
+ *
+ * @param string|null $resourceType A valoriser avec le type de ressource souhaitée ou engagée (cf.nomenclature associée) - en fonction du type de décision. A fournir obligatoirement pour une décision d'intervention ou de transport/orientation.
+ *
+ * @return $this
+ */
+ public function setResourceType(?string $resourceType = null): self
+ {
+ $this->resourceType = $resourceType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets medicalTransport.
+ *
+ * @return bool|null
+ */
+ public function isMedicalTransport(): ?bool
+ {
+ return $this->medicalTransport;
+ }
+
+ /**
+ * Sets medicalTransport.
+ *
+ * @param bool|null $medicalTransport A valoriser obligatoirement en cas de décision de transport, pour indiquer si ce dernier est médicalisé. True = transport médicalisé False = transport non médicalisé
+ *
+ * @return $this
+ */
+ public function setMedicalTransport(?bool $medicalTransport = null): self
+ {
+ $this->medicalTransport = $medicalTransport;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets orientationType.
+ *
+ * @return string|null
+ */
+ public function getOrientationType(): ?string
+ {
+ return $this->orientationType;
+ }
+
+ /**
+ * Sets orientationType.
+ *
+ * @param string|null $orientationType Indique le type de destination en cas de décision d'orientation (cf. nomenclature associée)
+ *
+ * @return $this
+ */
+ public function setOrientationType(?string $orientationType = null): self
+ {
+ $this->orientationType = $orientationType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets destination.
+ *
+ * @return Destination|null
+ */
+ public function getDestination(): ?Destination
+ {
+ return $this->destination;
+ }
+
+ /**
+ * Sets destination.
+ *
+ * @param Destination|null $destination
+ *
+ * @return $this
+ */
+ public function setDestination(?Destination $destination = null): self
+ {
+ $this->destination = $destination;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Destination.php b/generator_php-symfony/package/src/Model/health/Destination.php
new file mode 100644
index 0000000000..cf10e0aa51
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Destination.php
@@ -0,0 +1,133 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\ExternalLocationId"),
+ ])]
+ protected ?array $externalLocationId = null;
+
+ /**
+ * Champ libre qui permet de complĂ©ter les informations liĂ©es Ă la localisation. SpĂ©cificitĂ©s 15-15 : En envoi, il est souhaitable de mapper ici toute valeur en lien avec la localisation de l'intervention qui ne pourrait pas ĂȘtre transmise de maniĂšre structurĂ©e dans l'objet location. En rĂ©ception, il est trĂšs important d'intĂ©grer et d'afficher la valeur de cet attribut, qui est suceptible de contenir des informations d'accĂšs importantes.
+ *
+ * @var string|null
+ * @SerializedName("freetext")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $freetext = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->externalLocationId = array_key_exists('externalLocationId', $data) ? $data['externalLocationId'] : $this->externalLocationId;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets externalLocationId.
+ *
+ * @return ExternalLocationId[]|null
+ */
+ public function getExternalLocationId(): ?array
+ {
+ return $this->externalLocationId;
+ }
+
+ /**
+ * Sets externalLocationId.
+ *
+ * @param ExternalLocationId[]|null $externalLocationId
+ *
+ * @return $this
+ */
+ public function setExternalLocationId(?array $externalLocationId = null): self
+ {
+ $this->externalLocationId = $externalLocationId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Champ libre qui permet de complĂ©ter les informations liĂ©es Ă la localisation. SpĂ©cificitĂ©s 15-15 : En envoi, il est souhaitable de mapper ici toute valeur en lien avec la localisation de l'intervention qui ne pourrait pas ĂȘtre transmise de maniĂšre structurĂ©e dans l'objet location. En rĂ©ception, il est trĂšs important d'intĂ©grer et d'afficher la valeur de cet attribut, qui est suceptible de contenir des informations d'accĂšs importantes.
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/DetailedAddress.php b/generator_php-symfony/package/src/Model/health/DetailedAddress.php
new file mode 100644
index 0000000000..5df1ded682
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/DetailedAddress.php
@@ -0,0 +1,206 @@
+highway = array_key_exists('highway', $data) ? $data['highway'] : $this->highway;
+ $this->complete = array_key_exists('complete', $data) ? $data['complete'] : $this->complete;
+ $this->number = array_key_exists('number', $data) ? $data['number'] : $this->number;
+ $this->wayName = array_key_exists('wayName', $data) ? $data['wayName'] : $this->wayName;
+ }
+ }
+
+ /**
+ * Gets highway.
+ *
+ * @return Highway|null
+ */
+ public function getHighway(): ?Highway
+ {
+ return $this->highway;
+ }
+
+ /**
+ * Sets highway.
+ *
+ * @param Highway|null $highway
+ *
+ * @return $this
+ */
+ public function setHighway(?Highway $highway = null): self
+ {
+ $this->highway = $highway;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets complete.
+ *
+ * @return string|null
+ */
+ public function getComplete(): ?string
+ {
+ return $this->complete;
+ }
+
+ /**
+ * Sets complete.
+ *
+ * @param string|null $complete A valoriser avec le numĂ©ro, le type et le nom de la voie. En rĂ©ception, il est possible que seul cette information soit remplie. SpĂ©cificitĂ©s 15-15 : si les informations pour les autoroutes (voie fĂ©rĂ©e ou voie navigable) ne sont pas structurĂ©es, il est possible de passer le nom, PK et sens ici, de maniĂšre concatĂ©nĂ©e. SpĂ©cificitĂ©s 15-18 : Obligatoire et seule valeur des dĂ©tails de l'adresse fournie par NexSIS. UtilisĂ© pour tout type de voie : autoroute (PK, nom et sens), voie ferrĂ©e, voie navigableâŠ
+ *
+ * @return $this
+ */
+ public function setComplete(?string $complete): self
+ {
+ $this->complete = $complete;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets number.
+ *
+ * @return string|null
+ */
+ public function getNumber(): ?string
+ {
+ return $this->number;
+ }
+
+ /**
+ * Sets number.
+ *
+ * @param string|null $number A valoriser avec le numĂ©ro dans l'adresse. La valeur de l'attribut inclut l'indice de rĂ©pĂ©tition associĂ© au numĂ©ro (par exemple bis, aâŠ). SpĂ©cificitĂ©s 15-18 : inclut le point kilomĂ©trique sur l'autoroute, voie ferrĂ©e ou voie navigable.
+ *
+ * @return $this
+ */
+ public function setNumber(?string $number = null): self
+ {
+ $this->number = $number;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets wayName.
+ *
+ * @return WayName|null
+ */
+ public function getWayName(): ?WayName
+ {
+ return $this->wayName;
+ }
+
+ /**
+ * Sets wayName.
+ *
+ * @param WayName|null $wayName
+ *
+ * @return $this
+ */
+ public function setWayName(?WayName $wayName = null): self
+ {
+ $this->wayName = $wayName;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/DetailedName.php b/generator_php-symfony/package/src/Model/health/DetailedName.php
new file mode 100644
index 0000000000..9beaab09e8
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/DetailedName.php
@@ -0,0 +1,172 @@
+complete = array_key_exists('complete', $data) ? $data['complete'] : $this->complete;
+ $this->lastName = array_key_exists('lastName', $data) ? $data['lastName'] : $this->lastName;
+ $this->firstName = array_key_exists('firstName', $data) ? $data['firstName'] : $this->firstName;
+ }
+ }
+
+ /**
+ * Gets complete.
+ *
+ * @return string|null
+ */
+ public function getComplete(): ?string
+ {
+ return $this->complete;
+ }
+
+ /**
+ * Sets complete.
+ *
+ * @param string|null $complete A valoriser avec le prĂ©nom et le nom usuel du requĂ©rant/appelant. Si les champs callerLastName et callerFirstName sont Ă©galement renseignĂ©s, le champ callerName doit ĂȘtre valorisĂ© ainsi : \"{callerFirstName} {callerLastName}\". SpĂ©cificitĂ©s 15-18 : NexSIS ne dispose que de ces informations (concatĂ©nĂ©es) et pas de deux champs sĂ©parĂ©s.
+ *
+ * @return $this
+ */
+ public function setComplete(?string $complete): self
+ {
+ $this->complete = $complete;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lastName.
+ *
+ * @return string|null
+ */
+ public function getLastName(): ?string
+ {
+ return $this->lastName;
+ }
+
+ /**
+ * Sets lastName.
+ *
+ * @param string|null $lastName A valoriser avec le nom usuel du requérant
+ *
+ * @return $this
+ */
+ public function setLastName(?string $lastName = null): self
+ {
+ $this->lastName = $lastName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets firstName.
+ *
+ * @return string|null
+ */
+ public function getFirstName(): ?string
+ {
+ return $this->firstName;
+ }
+
+ /**
+ * Sets firstName.
+ *
+ * @param string|null $firstName A valoriser avec le prĂ©nom usuel du rĂ©quĂ©rant. Par convention les prĂ©noms composĂ©s doivent prĂ©fĂ©rablement ĂȘtre sĂ©parĂ©s par le caractĂšre \"-\"
+ *
+ * @return $this
+ */
+ public function setFirstName(?string $firstName = null): self
+ {
+ $this->firstName = $firstName;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/ExternalId.php b/generator_php-symfony/package/src/Model/health/ExternalId.php
new file mode 100644
index 0000000000..6f84a4da4a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/ExternalId.php
@@ -0,0 +1,136 @@
+source = array_key_exists('source', $data) ? $data['source'] : $this->source;
+ $this->value = array_key_exists('value', $data) ? $data['value'] : $this->value;
+ }
+ }
+
+ /**
+ * Gets source.
+ *
+ * @return string|null
+ */
+ public function getSource(): ?string
+ {
+ return $this->source;
+ }
+
+ /**
+ * Sets source.
+ *
+ * @param string|null $source Type de l'identifiant fourni
+ *
+ * @return $this
+ */
+ public function setSource(?string $source): self
+ {
+ $this->source = $source;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets value.
+ *
+ * @return string|null
+ */
+ public function getValue(): ?string
+ {
+ return $this->value;
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param string|null $value L'identifiant en lui-mĂȘme
+ *
+ * @return $this
+ */
+ public function setValue(?string $value): self
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/ExternalInfo.php b/generator_php-symfony/package/src/Model/health/ExternalInfo.php
new file mode 100644
index 0000000000..adce57650b
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/ExternalInfo.php
@@ -0,0 +1,175 @@
+freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->uri = array_key_exists('uri', $data) ? $data['uri'] : $this->uri;
+ }
+ }
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext A valoriser avec le systĂšme fournissant le localisant
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec la dĂ©finition du type d'objet dans le systĂšme Exemple : SIG NexSIS / OSM ont plusieurs types de donnĂ©es (EGA, POI, tronçon de route, âŠ)
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uri.
+ *
+ * @return string|null
+ */
+ public function getUri(): ?string
+ {
+ return $this->uri;
+ }
+
+ /**
+ * Sets uri.
+ *
+ * @param string|null $uri Identifiant dans le systÚme concerné
+ *
+ * @return $this
+ */
+ public function setUri(?string $uri): self
+ {
+ $this->uri = $uri;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/ExternalLocationId.php b/generator_php-symfony/package/src/Model/health/ExternalLocationId.php
new file mode 100644
index 0000000000..199e461f7f
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/ExternalLocationId.php
@@ -0,0 +1,137 @@
+source = array_key_exists('source', $data) ? $data['source'] : $this->source;
+ $this->value = array_key_exists('value', $data) ? $data['value'] : $this->value;
+ }
+ }
+
+ /**
+ * Gets source.
+ *
+ * @return string|null
+ */
+ public function getSource(): ?string
+ {
+ return $this->source;
+ }
+
+ /**
+ * Sets source.
+ *
+ * @param string|null $source A valoriser avec le type de l'identifiant fourni. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setSource(?string $source): self
+ {
+ $this->source = $source;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets value.
+ *
+ * @return string|null
+ */
+ public function getValue(): ?string
+ {
+ return $this->value;
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param string|null $value A valoriser avec l'identifiant en lui-mĂȘme
+ *
+ * @return $this
+ */
+ public function setValue(?string $value): self
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/GeneralPractitioner.php b/generator_php-symfony/package/src/Model/health/GeneralPractitioner.php
new file mode 100644
index 0000000000..8232c49911
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/GeneralPractitioner.php
@@ -0,0 +1,171 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\PersonalContact"),
+ ])]
+ protected ?array $contact = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->detailedName = array_key_exists('detailedName', $data) ? $data['detailedName'] : $this->detailedName;
+ $this->rppsId = array_key_exists('rppsId', $data) ? $data['rppsId'] : $this->rppsId;
+ $this->contact = array_key_exists('contact', $data) ? $data['contact'] : $this->contact;
+ }
+ }
+
+ /**
+ * Gets detailedName.
+ *
+ * @return DetailedName|null
+ */
+ public function getDetailedName(): ?DetailedName
+ {
+ return $this->detailedName;
+ }
+
+ /**
+ * Sets detailedName.
+ *
+ * @param DetailedName|null $detailedName
+ *
+ * @return $this
+ */
+ public function setDetailedName(?DetailedName $detailedName): self
+ {
+ $this->detailedName = $detailedName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets rppsId.
+ *
+ * @return string|null
+ */
+ public function getRppsId(): ?string
+ {
+ return $this->rppsId;
+ }
+
+ /**
+ * Sets rppsId.
+ *
+ * @param string|null $rppsId Numéro RPPS du médecin traitant
+ *
+ * @return $this
+ */
+ public function setRppsId(?string $rppsId = null): self
+ {
+ $this->rppsId = $rppsId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets contact.
+ *
+ * @return PersonalContact[]|null
+ */
+ public function getContact(): ?array
+ {
+ return $this->contact;
+ }
+
+ /**
+ * Sets contact.
+ *
+ * @param PersonalContact[]|null $contact
+ *
+ * @return $this
+ */
+ public function setContact(?array $contact = null): self
+ {
+ $this->contact = $contact;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Geometry.php b/generator_php-symfony/package/src/Model/health/Geometry.php
new file mode 100644
index 0000000000..7639b7e5a2
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Geometry.php
@@ -0,0 +1,133 @@
+datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->point = array_key_exists('point', $data) ? $data['point'] : $this->point;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec le groupe date heure de renseignement des coordonnées du point clé de la localisation. Permet de connaßtre la fraßcheur et donc la pertinence des informations pour intervenir.
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets point.
+ *
+ * @return Point|null
+ */
+ public function getPoint(): ?Point
+ {
+ return $this->point;
+ }
+
+ /**
+ * Sets point.
+ *
+ * @param Point|null $point
+ *
+ * @return $this
+ */
+ public function setPoint(?Point $point = null): self
+ {
+ $this->point = $point;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/HealthMotive.php b/generator_php-symfony/package/src/Model/health/HealthMotive.php
new file mode 100644
index 0000000000..985f60d530
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/HealthMotive.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Highway.php b/generator_php-symfony/package/src/Model/health/Highway.php
new file mode 100644
index 0000000000..6970a3ce36
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Highway.php
@@ -0,0 +1,171 @@
+name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->pk = array_key_exists('pk', $data) ? $data['pk'] : $this->pk;
+ $this->direction = array_key_exists('direction', $data) ? $data['direction'] : $this->direction;
+ }
+ }
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom de l'autoroute, de la voie ferrée ou voie navigable.
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets pk.
+ *
+ * @return string|null
+ */
+ public function getPk(): ?string
+ {
+ return $this->pk;
+ }
+
+ /**
+ * Sets pk.
+ *
+ * @param string|null $pk A valoriser avec le point kilométrique de l'autoroute, de la voie ferrée ou voie navigable.
+ *
+ * @return $this
+ */
+ public function setPk(?string $pk = null): self
+ {
+ $this->pk = $pk;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets direction.
+ *
+ * @return string|null
+ */
+ public function getDirection(): ?string
+ {
+ return $this->direction;
+ }
+
+ /**
+ * Sets direction.
+ *
+ * @param string|null $direction A valoriser avec le sens de l'autoroute.
+ *
+ * @return $this
+ */
+ public function setDirection(?string $direction = null): self
+ {
+ $this->direction = $direction;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Hypothesis.php b/generator_php-symfony/package/src/Model/health/Hypothesis.php
new file mode 100644
index 0000000000..be36e05277
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Hypothesis.php
@@ -0,0 +1,131 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\OtherDiagnosis"),
+ ])]
+ protected ?array $otherDiagnosis = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->mainDiagnosis = array_key_exists('mainDiagnosis', $data) ? $data['mainDiagnosis'] : $this->mainDiagnosis;
+ $this->otherDiagnosis = array_key_exists('otherDiagnosis', $data) ? $data['otherDiagnosis'] : $this->otherDiagnosis;
+ }
+ }
+
+ /**
+ * Gets mainDiagnosis.
+ *
+ * @return MainDiagnosis|null
+ */
+ public function getMainDiagnosis(): ?MainDiagnosis
+ {
+ return $this->mainDiagnosis;
+ }
+
+ /**
+ * Sets mainDiagnosis.
+ *
+ * @param MainDiagnosis|null $mainDiagnosis
+ *
+ * @return $this
+ */
+ public function setMainDiagnosis(?MainDiagnosis $mainDiagnosis = null): self
+ {
+ $this->mainDiagnosis = $mainDiagnosis;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets otherDiagnosis.
+ *
+ * @return OtherDiagnosis[]|null
+ */
+ public function getOtherDiagnosis(): ?array
+ {
+ return $this->otherDiagnosis;
+ }
+
+ /**
+ * Sets otherDiagnosis.
+ *
+ * @param OtherDiagnosis[]|null $otherDiagnosis
+ *
+ * @return $this
+ */
+ public function setOtherDiagnosis(?array $otherDiagnosis = null): self
+ {
+ $this->otherDiagnosis = $otherDiagnosis;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Identity.php b/generator_php-symfony/package/src/Model/health/Identity.php
new file mode 100644
index 0000000000..9542a61cd1
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Identity.php
@@ -0,0 +1,129 @@
+strictFeatures = array_key_exists('strictFeatures', $data) ? $data['strictFeatures'] : $this->strictFeatures;
+ $this->nonStrictFeatures = array_key_exists('nonStrictFeatures', $data) ? $data['nonStrictFeatures'] : $this->nonStrictFeatures;
+ }
+ }
+
+ /**
+ * Gets strictFeatures.
+ *
+ * @return InsStrictFeatures|null
+ */
+ public function getStrictFeatures(): ?InsStrictFeatures
+ {
+ return $this->strictFeatures;
+ }
+
+ /**
+ * Sets strictFeatures.
+ *
+ * @param InsStrictFeatures|null $strictFeatures
+ *
+ * @return $this
+ */
+ public function setStrictFeatures(?InsStrictFeatures $strictFeatures = null): self
+ {
+ $this->strictFeatures = $strictFeatures;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nonStrictFeatures.
+ *
+ * @return DetailedName|null
+ */
+ public function getNonStrictFeatures(): ?DetailedName
+ {
+ return $this->nonStrictFeatures;
+ }
+
+ /**
+ * Sets nonStrictFeatures.
+ *
+ * @param DetailedName|null $nonStrictFeatures
+ *
+ * @return $this
+ */
+ public function setNonStrictFeatures(?DetailedName $nonStrictFeatures = null): self
+ {
+ $this->nonStrictFeatures = $nonStrictFeatures;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/InsStrictFeatures.php b/generator_php-symfony/package/src/Model/health/InsStrictFeatures.php
new file mode 100644
index 0000000000..d79339f0bd
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/InsStrictFeatures.php
@@ -0,0 +1,173 @@
+birthName = array_key_exists('birthName', $data) ? $data['birthName'] : $this->birthName;
+ $this->birthDate = array_key_exists('birthDate', $data) ? $data['birthDate'] : $this->birthDate;
+ $this->sex = array_key_exists('sex', $data) ? $data['sex'] : $this->sex;
+ }
+ }
+
+ /**
+ * Gets birthName.
+ *
+ * @return string|null
+ */
+ public function getBirthName(): ?string
+ {
+ return $this->birthName;
+ }
+
+ /**
+ * Sets birthName.
+ *
+ * @param string|null $birthName A valoriser avec le nom de naissance du patient. Egalement appelé nom de famille.
+ *
+ * @return $this
+ */
+ public function setBirthName(?string $birthName = null): self
+ {
+ $this->birthName = $birthName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets birthDate.
+ *
+ * @return string|null
+ */
+ public function getBirthDate(): ?string
+ {
+ return $this->birthDate;
+ }
+
+ /**
+ * Sets birthDate.
+ *
+ * @param string|null $birthDate A valoriser avec la date de naissance du patient
+ *
+ * @return $this
+ */
+ public function setBirthDate(?string $birthDate = null): self
+ {
+ $this->birthDate = $birthDate;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sex.
+ *
+ * @return string|null
+ */
+ public function getSex(): ?string
+ {
+ return $this->sex;
+ }
+
+ /**
+ * Sets sex.
+ *
+ * @param string|null $sex A valoriser avec le sexe du patient
+ *
+ * @return $this
+ */
+ public function setSex(?string $sex = null): self
+ {
+ $this->sex = $sex;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Location.php b/generator_php-symfony/package/src/Model/health/Location.php
new file mode 100644
index 0000000000..fc4880b96e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Location.php
@@ -0,0 +1,353 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\ExternalLocationId"),
+ ])]
+ protected ?array $externalLocationId = null;
+
+ /**
+ * @var DetailedAddress|null
+ * @SerializedName("detailedAddress")
+ * @Type("Hubsante\Model\health\DetailedAddress")
+ */
+ #[Assert\Type("Hubsante\Model\health\DetailedAddress")]
+ protected ?DetailedAddress $detailedAddress = null;
+
+ /**
+ * @var City|null
+ * @SerializedName("city")
+ * @Type("Hubsante\Model\health\City")
+ */
+ #[Assert\Type("Hubsante\Model\health\City")]
+ protected ?City $city = null;
+
+ /**
+ * @var Access|null
+ * @SerializedName("access")
+ * @Type("Hubsante\Model\health\Access")
+ */
+ #[Assert\Type("Hubsante\Model\health\Access")]
+ protected ?Access $access = null;
+
+ /**
+ * @var Geometry|null
+ * @SerializedName("geometry")
+ * @Type("Hubsante\Model\health\Geometry")
+ */
+ #[Assert\Type("Hubsante\Model\health\Geometry")]
+ protected ?Geometry $geometry = null;
+
+ /**
+ * @var ExternalInfo[]|null
+ * @SerializedName("externalInfo")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\ExternalInfo"),
+ ])]
+ protected ?array $externalInfo = null;
+
+ /**
+ * Champ libre qui permet de complĂ©ter les informations liĂ©es Ă la localisation. SpĂ©cificitĂ©s 15-15 : En envoi, il est souhaitable de mapper ici toute valeur en lien avec la localisation de l'intervention qui ne pourrait pas ĂȘtre transmise de maniĂšre structurĂ©e dans l'objet location. En rĂ©ception, il est trĂšs important d'intĂ©grer et d'afficher la valeur de cet attribut, qui est suceptible de contenir des informations d'accĂšs importantes.
+ *
+ * @var string|null
+ * @SerializedName("freetext")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $freetext = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->externalLocationId = array_key_exists('externalLocationId', $data) ? $data['externalLocationId'] : $this->externalLocationId;
+ $this->detailedAddress = array_key_exists('detailedAddress', $data) ? $data['detailedAddress'] : $this->detailedAddress;
+ $this->city = array_key_exists('city', $data) ? $data['city'] : $this->city;
+ $this->access = array_key_exists('access', $data) ? $data['access'] : $this->access;
+ $this->geometry = array_key_exists('geometry', $data) ? $data['geometry'] : $this->geometry;
+ $this->externalInfo = array_key_exists('externalInfo', $data) ? $data['externalInfo'] : $this->externalInfo;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom de lieu : nom commercial, nom d'Ă©tablissement, forĂȘt de Fontainebleau, lac du Der, etc.
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets externalLocationId.
+ *
+ * @return ExternalLocationId[]|null
+ */
+ public function getExternalLocationId(): ?array
+ {
+ return $this->externalLocationId;
+ }
+
+ /**
+ * Sets externalLocationId.
+ *
+ * @param ExternalLocationId[]|null $externalLocationId
+ *
+ * @return $this
+ */
+ public function setExternalLocationId(?array $externalLocationId = null): self
+ {
+ $this->externalLocationId = $externalLocationId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detailedAddress.
+ *
+ * @return DetailedAddress|null
+ */
+ public function getDetailedAddress(): ?DetailedAddress
+ {
+ return $this->detailedAddress;
+ }
+
+ /**
+ * Sets detailedAddress.
+ *
+ * @param DetailedAddress|null $detailedAddress
+ *
+ * @return $this
+ */
+ public function setDetailedAddress(?DetailedAddress $detailedAddress = null): self
+ {
+ $this->detailedAddress = $detailedAddress;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets city.
+ *
+ * @return City|null
+ */
+ public function getCity(): ?City
+ {
+ return $this->city;
+ }
+
+ /**
+ * Sets city.
+ *
+ * @param City|null $city
+ *
+ * @return $this
+ */
+ public function setCity(?City $city = null): self
+ {
+ $this->city = $city;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets access.
+ *
+ * @return Access|null
+ */
+ public function getAccess(): ?Access
+ {
+ return $this->access;
+ }
+
+ /**
+ * Sets access.
+ *
+ * @param Access|null $access
+ *
+ * @return $this
+ */
+ public function setAccess(?Access $access = null): self
+ {
+ $this->access = $access;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets geometry.
+ *
+ * @return Geometry|null
+ */
+ public function getGeometry(): ?Geometry
+ {
+ return $this->geometry;
+ }
+
+ /**
+ * Sets geometry.
+ *
+ * @param Geometry|null $geometry
+ *
+ * @return $this
+ */
+ public function setGeometry(?Geometry $geometry = null): self
+ {
+ $this->geometry = $geometry;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets externalInfo.
+ *
+ * @return ExternalInfo[]|null
+ */
+ public function getExternalInfo(): ?array
+ {
+ return $this->externalInfo;
+ }
+
+ /**
+ * Sets externalInfo.
+ *
+ * @param ExternalInfo[]|null $externalInfo
+ *
+ * @return $this
+ */
+ public function setExternalInfo(?array $externalInfo = null): self
+ {
+ $this->externalInfo = $externalInfo;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Champ libre qui permet de complĂ©ter les informations liĂ©es Ă la localisation. SpĂ©cificitĂ©s 15-15 : En envoi, il est souhaitable de mapper ici toute valeur en lien avec la localisation de l'intervention qui ne pourrait pas ĂȘtre transmise de maniĂšre structurĂ©e dans l'objet location. En rĂ©ception, il est trĂšs important d'intĂ©grer et d'afficher la valeur de cet attribut, qui est suceptible de contenir des informations d'accĂšs importantes.
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/LocationKind.php b/generator_php-symfony/package/src/Model/health/LocationKind.php
new file mode 100644
index 0000000000..cddbda719e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/LocationKind.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/MainDiagnosis.php b/generator_php-symfony/package/src/Model/health/MainDiagnosis.php
new file mode 100644
index 0000000000..1cd5c4df06
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/MainDiagnosis.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/MedicalNote.php b/generator_php-symfony/package/src/Model/health/MedicalNote.php
new file mode 100644
index 0000000000..8adab49c55
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/MedicalNote.php
@@ -0,0 +1,252 @@
+patientId = array_key_exists('patientId', $data) ? $data['patientId'] : $this->patientId;
+ $this->operator = array_key_exists('operator', $data) ? $data['operator'] : $this->operator;
+ $this->medicalNoteId = array_key_exists('medicalNoteId', $data) ? $data['medicalNoteId'] : $this->medicalNoteId;
+ $this->creation = array_key_exists('creation', $data) ? $data['creation'] : $this->creation;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets patientId.
+ *
+ * @return string|null
+ */
+ public function getPatientId(): ?string
+ {
+ return $this->patientId;
+ }
+
+ /**
+ * Sets patientId.
+ *
+ * @param string|null $patientId Identifiant partagĂ© du patient concernĂ© par l'observation, a remplir obligatoirement si ce patient existe et est identifiĂ© dans le systĂšme emetteur, ValorisĂ© comme suit lors de sa crĂ©ation : {OrgId Ă©metteur}.patient.{n°patient unique dans le systĂšme Ă©metteur} OU, si un n°patient unique n'existe pas dans le systĂšme Ă©metteur : {ID Ă©metteur}.{senderCaseId}.patient.{numĂ©ro dâordre chronologique au dossier}
+ *
+ * @return $this
+ */
+ public function setPatientId(?string $patientId = null): self
+ {
+ $this->patientId = $patientId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets operator.
+ *
+ * @return Operator|null
+ */
+ public function getOperator(): ?Operator
+ {
+ return $this->operator;
+ }
+
+ /**
+ * Sets operator.
+ *
+ * @param Operator|null $operator
+ *
+ * @return $this
+ */
+ public function setOperator(?Operator $operator): self
+ {
+ $this->operator = $operator;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets medicalNoteId.
+ *
+ * @return string|null
+ */
+ public function getMedicalNoteId(): ?string
+ {
+ return $this->medicalNoteId;
+ }
+
+ /**
+ * Sets medicalNoteId.
+ *
+ * @param string|null $medicalNoteId Identifiant partagĂ© de l'observation, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui créé l'observation Il est valorisĂ© comme suit lors de sa crĂ©ation : {OrgId Ă©metteur}.medicalNote.{ID unique de lâobservation dans le systĂšme Ă©metteur} OU - uniquement dans le cas oĂč un ID unique de la note n'est pas disponible dans le systĂšme : {OrgId Ă©metteur}.medicalNote.{senderCaseId}.{numĂ©ro chronologique de lâobservation} Cet identifiant a vocation Ă devenir obligatoire pour permettre les mises Ă jour, il est laissĂ© en facultatif temporairement.
+ *
+ * @return $this
+ */
+ public function setMedicalNoteId(?string $medicalNoteId): self
+ {
+ $this->medicalNoteId = $medicalNoteId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets creation.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreation(): ?\DateTime
+ {
+ return $this->creation;
+ }
+
+ /**
+ * Sets creation.
+ *
+ * @param \DateTime|null $creation A valoriser avec le groupe date heure de crĂ©ation de l'observation. L'indicateur de fuseau horaire Z ne doit pas ĂȘtre utilisĂ©.
+ *
+ * @return $this
+ */
+ public function setCreation(?\DateTime $creation = null): self
+ {
+ $this->creation = $creation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Champ libre qui permet de compléter les informations de nature médicales, faites par un ARM, un médecin ou un autre professionnel de santé.
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Notes.php b/generator_php-symfony/package/src/Model/health/Notes.php
new file mode 100644
index 0000000000..eb61ddf1a8
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Notes.php
@@ -0,0 +1,134 @@
+creation = array_key_exists('creation', $data) ? $data['creation'] : $this->creation;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets creation.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreation(): ?\DateTime
+ {
+ return $this->creation;
+ }
+
+ /**
+ * Sets creation.
+ *
+ * @param \DateTime|null $creation A valoriser avec le groupe date heure de création de l'information complémentaire
+ *
+ * @return $this
+ */
+ public function setCreation(?\DateTime $creation = null): self
+ {
+ $this->creation = $creation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext A valoriser avec un texte libre contenant les indications complĂ©mentaires renseignĂ©es sur l'alerte/appel. SpĂ©cificitĂ©s 15-15 : cet attribut ne doit pas ĂȘtre valorisĂ© avec des notes Ă caractĂšre mĂ©dical, qui serait liĂ©e Ă un interrogatoire ARM ou mĂ©decin, ou Ă un patient en particulier
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Operator.php b/generator_php-symfony/package/src/Model/health/Operator.php
new file mode 100644
index 0000000000..eedab71d90
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Operator.php
@@ -0,0 +1,135 @@
+label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ $this->role = array_key_exists('role', $data) ? $data['role'] : $this->role;
+ }
+ }
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser si besoin avec la valeur souhaitĂ©e, en fonction des prĂ©fĂ©rences de chaque partenaire : cela peut ĂȘtre le nom et prĂ©nom de l'opĂ©rateur, ou un identifiant.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label = null): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets role.
+ *
+ * @return string|null
+ */
+ public function getRole(): ?string
+ {
+ return $this->role;
+ }
+
+ /**
+ * Sets role.
+ *
+ * @param string|null $role A valoriser avec le rÎle de l'opérateur au sein de l'entité émettrice du message :
+ *
+ * @return $this
+ */
+ public function setRole(?string $role): self
+ {
+ $this->role = $role;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/OtherDiagnosis.php b/generator_php-symfony/package/src/Model/health/OtherDiagnosis.php
new file mode 100644
index 0000000000..efb977ca26
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/OtherDiagnosis.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Patient.php b/generator_php-symfony/package/src/Model/health/Patient.php
new file mode 100644
index 0000000000..a41abfb208
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Patient.php
@@ -0,0 +1,241 @@
+patientId = array_key_exists('patientId', $data) ? $data['patientId'] : $this->patientId;
+ $this->administrativeFile = array_key_exists('administrativeFile', $data) ? $data['administrativeFile'] : $this->administrativeFile;
+ $this->identity = array_key_exists('identity', $data) ? $data['identity'] : $this->identity;
+ $this->detail = array_key_exists('detail', $data) ? $data['detail'] : $this->detail;
+ $this->hypothesis = array_key_exists('hypothesis', $data) ? $data['hypothesis'] : $this->hypothesis;
+ }
+ }
+
+ /**
+ * Gets patientId.
+ *
+ * @return string|null
+ */
+ public function getPatientId(): ?string
+ {
+ return $this->patientId;
+ }
+
+ /**
+ * Sets patientId.
+ *
+ * @param string|null $patientId Identifiant partagĂ© du patient, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui créé le patient. Il est valorisĂ© comme suit lors de sa crĂ©ation : {OrgId Ă©metteur}.patient.{n°patient unique dans le systĂšme Ă©metteur} OU, si un n°patient unique n'existe pas dans le systĂšme Ă©metteur : {ID Ă©metteur}.{senderCaseId}.patient.{numĂ©ro dâordre chronologique au dossier}
+ *
+ * @return $this
+ */
+ public function setPatientId(?string $patientId): self
+ {
+ $this->patientId = $patientId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets administrativeFile.
+ *
+ * @return AdministrativeFile|null
+ */
+ public function getAdministrativeFile(): ?AdministrativeFile
+ {
+ return $this->administrativeFile;
+ }
+
+ /**
+ * Sets administrativeFile.
+ *
+ * @param AdministrativeFile|null $administrativeFile
+ *
+ * @return $this
+ */
+ public function setAdministrativeFile(?AdministrativeFile $administrativeFile = null): self
+ {
+ $this->administrativeFile = $administrativeFile;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets identity.
+ *
+ * @return Identity|null
+ */
+ public function getIdentity(): ?Identity
+ {
+ return $this->identity;
+ }
+
+ /**
+ * Sets identity.
+ *
+ * @param Identity|null $identity
+ *
+ * @return $this
+ */
+ public function setIdentity(?Identity $identity = null): self
+ {
+ $this->identity = $identity;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detail.
+ *
+ * @return PatientDetail|null
+ */
+ public function getDetail(): ?PatientDetail
+ {
+ return $this->detail;
+ }
+
+ /**
+ * Sets detail.
+ *
+ * @param PatientDetail|null $detail
+ *
+ * @return $this
+ */
+ public function setDetail(?PatientDetail $detail = null): self
+ {
+ $this->detail = $detail;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets hypothesis.
+ *
+ * @return Hypothesis|null
+ */
+ public function getHypothesis(): ?Hypothesis
+ {
+ return $this->hypothesis;
+ }
+
+ /**
+ * Sets hypothesis.
+ *
+ * @param Hypothesis|null $hypothesis
+ *
+ * @return $this
+ */
+ public function setHypothesis(?Hypothesis $hypothesis = null): self
+ {
+ $this->hypothesis = $hypothesis;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/PatientDetail.php b/generator_php-symfony/package/src/Model/health/PatientDetail.php
new file mode 100644
index 0000000000..99e7ca2e27
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/PatientDetail.php
@@ -0,0 +1,287 @@
+weight = array_key_exists('weight', $data) ? $data['weight'] : $this->weight;
+ $this->height = array_key_exists('height', $data) ? $data['height'] : $this->height;
+ $this->age = array_key_exists('age', $data) ? $data['age'] : $this->age;
+ $this->careLevel = array_key_exists('careLevel', $data) ? $data['careLevel'] : $this->careLevel;
+ $this->medicalHistory = array_key_exists('medicalHistory', $data) ? $data['medicalHistory'] : $this->medicalHistory;
+ $this->treatment = array_key_exists('treatment', $data) ? $data['treatment'] : $this->treatment;
+ }
+ }
+
+ /**
+ * Gets weight.
+ *
+ * @return float|null
+ */
+ public function getWeight(): ?float
+ {
+ return $this->weight;
+ }
+
+ /**
+ * Sets weight.
+ *
+ * @param float|null $weight A valoriser avec le poids en kilogrammes
+ *
+ * @return $this
+ */
+ public function setWeight(?float $weight = null): self
+ {
+ $this->weight = $weight;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets height.
+ *
+ * @return float|null
+ */
+ public function getHeight(): ?float
+ {
+ return $this->height;
+ }
+
+ /**
+ * Sets height.
+ *
+ * @param float|null $height A valoriser avec la taille en centimĂštres du patient
+ *
+ * @return $this
+ */
+ public function setHeight(?float $height = null): self
+ {
+ $this->height = $height;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets age.
+ *
+ * @return string|null
+ */
+ public function getAge(): ?string
+ {
+ return $this->age;
+ }
+
+ /**
+ * Sets age.
+ *
+ * @param string|null $age A valoriser avec l'age du patient. Au format \"Durée\" de la norme ISO 8601 (https://fr.wikipedia.org/wiki/ISO_8601#Dur%C3%A9e) et en n'utilisant qu'une seule unité de durée (années, mois, semaines ou jours)
+ *
+ * @return $this
+ */
+ public function setAge(?string $age = null): self
+ {
+ $this->age = $age;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets careLevel.
+ *
+ * @return string|null
+ */
+ public function getCareLevel(): ?string
+ {
+ return $this->careLevel;
+ }
+
+ /**
+ * Sets careLevel.
+ *
+ * @param string|null $careLevel A valoriser avec le niveau de soins spécifique au patient
+ *
+ * @return $this
+ */
+ public function setCareLevel(?string $careLevel = null): self
+ {
+ $this->careLevel = $careLevel;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets medicalHistory.
+ *
+ * @return string|null
+ */
+ public function getMedicalHistory(): ?string
+ {
+ return $this->medicalHistory;
+ }
+
+ /**
+ * Sets medicalHistory.
+ *
+ * @param string|null $medicalHistory Texte libre pour décrire les antécédents du patient. Si ce n'est pas géré de maniÚre structurés : à afficher dans une note liée au patient en réception.
+ *
+ * @return $this
+ */
+ public function setMedicalHistory(?string $medicalHistory = null): self
+ {
+ $this->medicalHistory = $medicalHistory;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets treatment.
+ *
+ * @return string|null
+ */
+ public function getTreatment(): ?string
+ {
+ return $this->treatment;
+ }
+
+ /**
+ * Sets treatment.
+ *
+ * @param string|null $treatment Texte libre pour décrire les traitements du patient. Si ce n'est pas géré de maniÚre structurés : à afficher dans une note liée au patient en réception.
+ *
+ * @return $this
+ */
+ public function setTreatment(?string $treatment = null): self
+ {
+ $this->treatment = $treatment;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/PersonalContact.php b/generator_php-symfony/package/src/Model/health/PersonalContact.php
new file mode 100644
index 0000000000..f91d9d1285
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/PersonalContact.php
@@ -0,0 +1,136 @@
+type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->detail = array_key_exists('detail', $data) ? $data['detail'] : $this->detail;
+ }
+ }
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setType(?string $type): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detail.
+ *
+ * @return string|null
+ */
+ public function getDetail(): ?string
+ {
+ return $this->detail;
+ }
+
+ /**
+ * Sets detail.
+ *
+ * @param string|null $detail A valoriser avec la valeur de l'URI utilisée. Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}.
+ *
+ * @return $this
+ */
+ public function setDetail(?string $detail): self
+ {
+ $this->detail = $detail;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Point.php b/generator_php-symfony/package/src/Model/health/Point.php
new file mode 100644
index 0000000000..5048b5e00d
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Point.php
@@ -0,0 +1,133 @@
+coord = array_key_exists('coord', $data) ? $data['coord'] : $this->coord;
+ $this->isAml = array_key_exists('isAml', $data) ? $data['isAml'] : $this->isAml;
+ }
+ }
+
+ /**
+ * Gets coord.
+ *
+ * @return Coord|null
+ */
+ public function getCoord(): ?Coord
+ {
+ return $this->coord;
+ }
+
+ /**
+ * Sets coord.
+ *
+ * @param Coord|null $coord
+ *
+ * @return $this
+ */
+ public function setCoord(?Coord $coord): self
+ {
+ $this->coord = $coord;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets isAml.
+ *
+ * @return bool|null
+ */
+ public function isIsAml(): ?bool
+ {
+ return $this->isAml;
+ }
+
+ /**
+ * Sets isAml.
+ *
+ * @param bool|null $isAml Attribut qui permet de préciser si les coordonnées fournies proviennent du dispositif AML (Advanced Mobile Location) - TRUE - ou non - FALSE.
+ *
+ * @return $this
+ */
+ public function setIsAml(?bool $isAml = null): self
+ {
+ $this->isAml = $isAml;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/Qualification.php b/generator_php-symfony/package/src/Model/health/Qualification.php
new file mode 100644
index 0000000000..fefe9102bb
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/Qualification.php
@@ -0,0 +1,278 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\health\RiskThreat"),
+ ])]
+ protected ?array $riskThreat = null;
+
+ /**
+ * @var WhatsHappen|null
+ * @SerializedName("whatsHappen")
+ * @Type("Hubsante\Model\health\WhatsHappen")
+ */
+ #[Assert\Type("Hubsante\Model\health\WhatsHappen")]
+ protected ?WhatsHappen $whatsHappen = null;
+
+ /**
+ * @var LocationKind|null
+ * @SerializedName("locationKind")
+ * @Type("Hubsante\Model\health\LocationKind")
+ */
+ #[Assert\Type("Hubsante\Model\health\LocationKind")]
+ protected ?LocationKind $locationKind = null;
+
+ /**
+ * @var HealthMotive|null
+ * @SerializedName("healthMotive")
+ * @Type("Hubsante\Model\health\HealthMotive")
+ */
+ #[Assert\Type("Hubsante\Model\health\HealthMotive")]
+ protected ?HealthMotive $healthMotive = null;
+
+ /**
+ * @var CaseDetails|null
+ * @SerializedName("details")
+ * @Type("Hubsante\Model\health\CaseDetails")
+ */
+ #[Assert\Type("Hubsante\Model\health\CaseDetails")]
+ protected ?CaseDetails $details = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->origin = array_key_exists('origin', $data) ? $data['origin'] : $this->origin;
+ $this->riskThreat = array_key_exists('riskThreat', $data) ? $data['riskThreat'] : $this->riskThreat;
+ $this->whatsHappen = array_key_exists('whatsHappen', $data) ? $data['whatsHappen'] : $this->whatsHappen;
+ $this->locationKind = array_key_exists('locationKind', $data) ? $data['locationKind'] : $this->locationKind;
+ $this->healthMotive = array_key_exists('healthMotive', $data) ? $data['healthMotive'] : $this->healthMotive;
+ $this->details = array_key_exists('details', $data) ? $data['details'] : $this->details;
+ }
+ }
+
+ /**
+ * Gets origin.
+ *
+ * @return string|null
+ */
+ public function getOrigin(): ?string
+ {
+ return $this->origin;
+ }
+
+ /**
+ * Sets origin.
+ *
+ * @param string|null $origin A valoriser avec le numéro de provenance de l'appel.
+ *
+ * @return $this
+ */
+ public function setOrigin(?string $origin = null): self
+ {
+ $this->origin = $origin;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets riskThreat.
+ *
+ * @return RiskThreat[]|null
+ */
+ public function getRiskThreat(): ?array
+ {
+ return $this->riskThreat;
+ }
+
+ /**
+ * Sets riskThreat.
+ *
+ * @param RiskThreat[]|null $riskThreat
+ *
+ * @return $this
+ */
+ public function setRiskThreat(?array $riskThreat = null): self
+ {
+ $this->riskThreat = $riskThreat;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets whatsHappen.
+ *
+ * @return WhatsHappen|null
+ */
+ public function getWhatsHappen(): ?WhatsHappen
+ {
+ return $this->whatsHappen;
+ }
+
+ /**
+ * Sets whatsHappen.
+ *
+ * @param WhatsHappen|null $whatsHappen
+ *
+ * @return $this
+ */
+ public function setWhatsHappen(?WhatsHappen $whatsHappen = null): self
+ {
+ $this->whatsHappen = $whatsHappen;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets locationKind.
+ *
+ * @return LocationKind|null
+ */
+ public function getLocationKind(): ?LocationKind
+ {
+ return $this->locationKind;
+ }
+
+ /**
+ * Sets locationKind.
+ *
+ * @param LocationKind|null $locationKind
+ *
+ * @return $this
+ */
+ public function setLocationKind(?LocationKind $locationKind = null): self
+ {
+ $this->locationKind = $locationKind;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets healthMotive.
+ *
+ * @return HealthMotive|null
+ */
+ public function getHealthMotive(): ?HealthMotive
+ {
+ return $this->healthMotive;
+ }
+
+ /**
+ * Sets healthMotive.
+ *
+ * @param HealthMotive|null $healthMotive
+ *
+ * @return $this
+ */
+ public function setHealthMotive(?HealthMotive $healthMotive = null): self
+ {
+ $this->healthMotive = $healthMotive;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets details.
+ *
+ * @return CaseDetails|null
+ */
+ public function getDetails(): ?CaseDetails
+ {
+ return $this->details;
+ }
+
+ /**
+ * Sets details.
+ *
+ * @param CaseDetails|null $details
+ *
+ * @return $this
+ */
+ public function setDetails(?CaseDetails $details = null): self
+ {
+ $this->details = $details;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/RiskThreat.php b/generator_php-symfony/package/src/Model/health/RiskThreat.php
new file mode 100644
index 0000000000..3a192c7589
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/RiskThreat.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/WayName.php b/generator_php-symfony/package/src/Model/health/WayName.php
new file mode 100644
index 0000000000..dd8e9a03cb
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/WayName.php
@@ -0,0 +1,172 @@
+complete = array_key_exists('complete', $data) ? $data['complete'] : $this->complete;
+ $this->type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ }
+ }
+
+ /**
+ * Gets complete.
+ *
+ * @return string|null
+ */
+ public function getComplete(): ?string
+ {
+ return $this->complete;
+ }
+
+ /**
+ * Sets complete.
+ *
+ * @param string|null $complete A valoriser avec le type et le nom de la voie. Si les attributs \"type\" et \"name\" de \"wayName\" sont Ă©galement renseignĂ©s, alors \"complete\" doit ĂȘtre valorisĂ© ainsi : \"{type} {nom}\".
+ *
+ * @return $this
+ */
+ public function setComplete(?string $complete): self
+ {
+ $this->complete = $complete;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec le type de la voie
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom de la voie
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/health/WhatsHappen.php b/generator_php-symfony/package/src/Model/health/WhatsHappen.php
new file mode 100644
index 0000000000..0319ed12fb
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/health/WhatsHappen.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/interventionreport/Evaluation.php b/generator_php-symfony/package/src/Model/interventionreport/Evaluation.php
new file mode 100644
index 0000000000..3f0ec0e09c
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/interventionreport/Evaluation.php
@@ -0,0 +1,323 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $procedure = null;
+
+ /**
+ * Thésaurus SFMU-FEDORU. A valoriser par un code de la nomenclature Diagnostic SMUR.
+ *
+ * @var string|null
+ * @SerializedName("mainDiagnosis")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $mainDiagnosis = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("associatedDiagnosis")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $associatedDiagnosis = null;
+
+ /**
+ * @var Vital[]|null
+ * @SerializedName("parameter")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\interventionreport\Vital"),
+ ])]
+ protected ?array $parameter = null;
+
+ /**
+ * Précise les antécédents du patient
+ *
+ * @var string|null
+ * @SerializedName("medicalHistory")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $medicalHistory = null;
+
+ /**
+ * Précise le traitement du patient
+ *
+ * @var string|null
+ * @SerializedName("treatment")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $treatment = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("freetext")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $freetext = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->procedure = array_key_exists('procedure', $data) ? $data['procedure'] : $this->procedure;
+ $this->mainDiagnosis = array_key_exists('mainDiagnosis', $data) ? $data['mainDiagnosis'] : $this->mainDiagnosis;
+ $this->associatedDiagnosis = array_key_exists('associatedDiagnosis', $data) ? $data['associatedDiagnosis'] : $this->associatedDiagnosis;
+ $this->parameter = array_key_exists('parameter', $data) ? $data['parameter'] : $this->parameter;
+ $this->medicalHistory = array_key_exists('medicalHistory', $data) ? $data['medicalHistory'] : $this->medicalHistory;
+ $this->treatment = array_key_exists('treatment', $data) ? $data['treatment'] : $this->treatment;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets procedure.
+ *
+ * @return string[]|null
+ */
+ public function getProcedure(): ?array
+ {
+ return $this->procedure;
+ }
+
+ /**
+ * Sets procedure.
+ *
+ * @param string[]|null $procedure
+ *
+ * @return $this
+ */
+ public function setProcedure(?array $procedure = null): self
+ {
+ $this->procedure = $procedure;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mainDiagnosis.
+ *
+ * @return string|null
+ */
+ public function getMainDiagnosis(): ?string
+ {
+ return $this->mainDiagnosis;
+ }
+
+ /**
+ * Sets mainDiagnosis.
+ *
+ * @param string|null $mainDiagnosis Thésaurus SFMU-FEDORU. A valoriser par un code de la nomenclature Diagnostic SMUR.
+ *
+ * @return $this
+ */
+ public function setMainDiagnosis(?string $mainDiagnosis = null): self
+ {
+ $this->mainDiagnosis = $mainDiagnosis;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets associatedDiagnosis.
+ *
+ * @return string[]|null
+ */
+ public function getAssociatedDiagnosis(): ?array
+ {
+ return $this->associatedDiagnosis;
+ }
+
+ /**
+ * Sets associatedDiagnosis.
+ *
+ * @param string[]|null $associatedDiagnosis
+ *
+ * @return $this
+ */
+ public function setAssociatedDiagnosis(?array $associatedDiagnosis = null): self
+ {
+ $this->associatedDiagnosis = $associatedDiagnosis;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets parameter.
+ *
+ * @return Vital[]|null
+ */
+ public function getParameter(): ?array
+ {
+ return $this->parameter;
+ }
+
+ /**
+ * Sets parameter.
+ *
+ * @param Vital[]|null $parameter
+ *
+ * @return $this
+ */
+ public function setParameter(?array $parameter = null): self
+ {
+ $this->parameter = $parameter;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets medicalHistory.
+ *
+ * @return string|null
+ */
+ public function getMedicalHistory(): ?string
+ {
+ return $this->medicalHistory;
+ }
+
+ /**
+ * Sets medicalHistory.
+ *
+ * @param string|null $medicalHistory Précise les antécédents du patient
+ *
+ * @return $this
+ */
+ public function setMedicalHistory(?string $medicalHistory = null): self
+ {
+ $this->medicalHistory = $medicalHistory;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets treatment.
+ *
+ * @return string|null
+ */
+ public function getTreatment(): ?string
+ {
+ return $this->treatment;
+ }
+
+ /**
+ * Sets treatment.
+ *
+ * @param string|null $treatment Précise le traitement du patient
+ *
+ * @return $this
+ */
+ public function setTreatment(?string $treatment = null): self
+ {
+ $this->treatment = $treatment;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string[]|null
+ */
+ public function getFreetext(): ?array
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string[]|null $freetext
+ *
+ * @return $this
+ */
+ public function setFreetext(?array $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/interventionreport/ExternalId.php b/generator_php-symfony/package/src/Model/interventionreport/ExternalId.php
new file mode 100644
index 0000000000..3f67f4fcf0
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/interventionreport/ExternalId.php
@@ -0,0 +1,136 @@
+source = array_key_exists('source', $data) ? $data['source'] : $this->source;
+ $this->value = array_key_exists('value', $data) ? $data['value'] : $this->value;
+ }
+ }
+
+ /**
+ * Gets source.
+ *
+ * @return string|null
+ */
+ public function getSource(): ?string
+ {
+ return $this->source;
+ }
+
+ /**
+ * Sets source.
+ *
+ * @param string|null $source Type de l'identifiant fourni
+ *
+ * @return $this
+ */
+ public function setSource(?string $source): self
+ {
+ $this->source = $source;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets value.
+ *
+ * @return string|null
+ */
+ public function getValue(): ?string
+ {
+ return $this->value;
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param string|null $value L'identifiant en lui-mĂȘme
+ *
+ * @return $this
+ */
+ public function setValue(?string $value): self
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/interventionreport/InterventionReport.php b/generator_php-symfony/package/src/Model/interventionreport/InterventionReport.php
new file mode 100644
index 0000000000..8751cbf7df
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/interventionreport/InterventionReport.php
@@ -0,0 +1,288 @@
+caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->reportId = array_key_exists('reportId', $data) ? $data['reportId'] : $this->reportId;
+ $this->redactor = array_key_exists('redactor', $data) ? $data['redactor'] : $this->redactor;
+ $this->creation = array_key_exists('creation', $data) ? $data['creation'] : $this->creation;
+ $this->patient = array_key_exists('patient', $data) ? $data['patient'] : $this->patient;
+ $this->evaluation = array_key_exists('evaluation', $data) ? $data['evaluation'] : $this->evaluation;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId Identifiant partagĂ© du dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets reportId.
+ *
+ * @return string|null
+ */
+ public function getReportId(): ?string
+ {
+ return $this->reportId;
+ }
+
+ /**
+ * Sets reportId.
+ *
+ * @param string|null $reportId Identifiant du bilan du logiciel SMUR
+ *
+ * @return $this
+ */
+ public function setReportId(?string $reportId): self
+ {
+ $this->reportId = $reportId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets redactor.
+ *
+ * @return Redactor|null
+ */
+ public function getRedactor(): ?Redactor
+ {
+ return $this->redactor;
+ }
+
+ /**
+ * Sets redactor.
+ *
+ * @param Redactor|null $redactor
+ *
+ * @return $this
+ */
+ public function setRedactor(?Redactor $redactor): self
+ {
+ $this->redactor = $redactor;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets creation.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreation(): ?\DateTime
+ {
+ return $this->creation;
+ }
+
+ /**
+ * Sets creation.
+ *
+ * @param \DateTime|null $creation s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setCreation(?\DateTime $creation): self
+ {
+ $this->creation = $creation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets patient.
+ *
+ * @return Patient|null
+ */
+ public function getPatient(): ?Patient
+ {
+ return $this->patient;
+ }
+
+ /**
+ * Sets patient.
+ *
+ * @param Patient|null $patient
+ *
+ * @return $this
+ */
+ public function setPatient(?Patient $patient): self
+ {
+ $this->patient = $patient;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets evaluation.
+ *
+ * @return Evaluation|null
+ */
+ public function getEvaluation(): ?Evaluation
+ {
+ return $this->evaluation;
+ }
+
+ /**
+ * Sets evaluation.
+ *
+ * @param Evaluation|null $evaluation
+ *
+ * @return $this
+ */
+ public function setEvaluation(?Evaluation $evaluation = null): self
+ {
+ $this->evaluation = $evaluation;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/interventionreport/InterventionReportWrapper.php b/generator_php-symfony/package/src/Model/interventionreport/InterventionReportWrapper.php
new file mode 100644
index 0000000000..f3c9154466
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/interventionreport/InterventionReportWrapper.php
@@ -0,0 +1,95 @@
+interventionReport = array_key_exists('interventionReport', $data) ? $data['interventionReport'] : $this->interventionReport;
+ }
+ }
+
+ /**
+ * Gets interventionReport.
+ *
+ * @return InterventionReport|null
+ */
+ public function getInterventionReport(): ?InterventionReport
+ {
+ return $this->interventionReport;
+ }
+
+ /**
+ * Sets interventionReport.
+ *
+ * @param InterventionReport|null $interventionReport
+ *
+ * @return $this
+ */
+ public function setInterventionReport(?InterventionReport $interventionReport): self
+ {
+ $this->interventionReport = $interventionReport;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/interventionreport/Patient.php b/generator_php-symfony/package/src/Model/interventionreport/Patient.php
new file mode 100644
index 0000000000..6bc9eab480
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/interventionreport/Patient.php
@@ -0,0 +1,442 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\interventionreport\ExternalId"),
+ ])]
+ protected ?array $externalId = null;
+
+ /**
+ * A valoriser avec le poids en kilogrammes
+ *
+ * @var int|null
+ * @SerializedName("height")
+ * @Type("int")
+ */
+ #[Assert\Type("int")]
+ protected ?int $height = null;
+
+ /**
+ * A valoriser avec la taille en centimĂštres du patient
+ *
+ * @var int|null
+ * @SerializedName("weight")
+ * @Type("int")
+ */
+ #[Assert\Type("int")]
+ protected ?int $weight = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->patientId = array_key_exists('patientId', $data) ? $data['patientId'] : $this->patientId;
+ $this->birthName = array_key_exists('birthName', $data) ? $data['birthName'] : $this->birthName;
+ $this->lastName = array_key_exists('lastName', $data) ? $data['lastName'] : $this->lastName;
+ $this->firstName = array_key_exists('firstName', $data) ? $data['firstName'] : $this->firstName;
+ $this->birthDate = array_key_exists('birthDate', $data) ? $data['birthDate'] : $this->birthDate;
+ $this->age = array_key_exists('age', $data) ? $data['age'] : $this->age;
+ $this->sex = array_key_exists('sex', $data) ? $data['sex'] : $this->sex;
+ $this->externalId = array_key_exists('externalId', $data) ? $data['externalId'] : $this->externalId;
+ $this->height = array_key_exists('height', $data) ? $data['height'] : $this->height;
+ $this->weight = array_key_exists('weight', $data) ? $data['weight'] : $this->weight;
+ }
+ }
+
+ /**
+ * Gets patientId.
+ *
+ * @return string|null
+ */
+ public function getPatientId(): ?string
+ {
+ return $this->patientId;
+ }
+
+ /**
+ * Sets patientId.
+ *
+ * @param string|null $patientId Identifiant unique du patient. A valoriser par {ID du SAMU qui engage le SMUR}.{ID du DRM}.P{numĂ©ro dâordre chronologique} : fr.health.samu690.DRFR15DDXAAJJJ00001.P01
+ *
+ * @return $this
+ */
+ public function setPatientId(?string $patientId): self
+ {
+ $this->patientId = $patientId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets birthName.
+ *
+ * @return string|null
+ */
+ public function getBirthName(): ?string
+ {
+ return $this->birthName;
+ }
+
+ /**
+ * Sets birthName.
+ *
+ * @param string|null $birthName Nom de naissance du patient
+ *
+ * @return $this
+ */
+ public function setBirthName(?string $birthName = null): self
+ {
+ $this->birthName = $birthName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lastName.
+ *
+ * @return string|null
+ */
+ public function getLastName(): ?string
+ {
+ return $this->lastName;
+ }
+
+ /**
+ * Sets lastName.
+ *
+ * @param string|null $lastName Nom usuel du patient
+ *
+ * @return $this
+ */
+ public function setLastName(?string $lastName): self
+ {
+ $this->lastName = $lastName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets firstName.
+ *
+ * @return string|null
+ */
+ public function getFirstName(): ?string
+ {
+ return $this->firstName;
+ }
+
+ /**
+ * Sets firstName.
+ *
+ * @param string|null $firstName Prénom du patient
+ *
+ * @return $this
+ */
+ public function setFirstName(?string $firstName): self
+ {
+ $this->firstName = $firstName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets birthDate.
+ *
+ * @return string|null
+ */
+ public function getBirthDate(): ?string
+ {
+ return $this->birthDate;
+ }
+
+ /**
+ * Sets birthDate.
+ *
+ * @param string|null $birthDate Date de naissance du patient
+ *
+ * @return $this
+ */
+ public function setBirthDate(?string $birthDate = null): self
+ {
+ $this->birthDate = $birthDate;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets age.
+ *
+ * @return string|null
+ */
+ public function getAge(): ?string
+ {
+ return $this->age;
+ }
+
+ /**
+ * Sets age.
+ *
+ * @param string|null $age La date de naissance n'est pas tout le temps connu, cette donnée permet d'indiquer un ùge entier.
+ *
+ * @return $this
+ */
+ public function setAge(?string $age = null): self
+ {
+ $this->age = $age;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sex.
+ *
+ * @return string|null
+ */
+ public function getSex(): ?string
+ {
+ return $this->sex;
+ }
+
+ /**
+ * Sets sex.
+ *
+ * @param string|null $sex Sexe du patient, suivant le libellé court de la nomenclature SI-SAMU-NOMENC_SEXE
+ *
+ * @return $this
+ */
+ public function setSex(?string $sex = null): self
+ {
+ $this->sex = $sex;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets externalId.
+ *
+ * @return ExternalId[]|null
+ */
+ public function getExternalId(): ?array
+ {
+ return $this->externalId;
+ }
+
+ /**
+ * Sets externalId.
+ *
+ * @param ExternalId[]|null $externalId
+ *
+ * @return $this
+ */
+ public function setExternalId(?array $externalId = null): self
+ {
+ $this->externalId = $externalId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets height.
+ *
+ * @return int|null
+ */
+ public function getHeight(): ?int
+ {
+ return $this->height;
+ }
+
+ /**
+ * Sets height.
+ *
+ * @param int|null $height A valoriser avec le poids en kilogrammes
+ *
+ * @return $this
+ */
+ public function setHeight(?int $height = null): self
+ {
+ $this->height = $height;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets weight.
+ *
+ * @return int|null
+ */
+ public function getWeight(): ?int
+ {
+ return $this->weight;
+ }
+
+ /**
+ * Sets weight.
+ *
+ * @param int|null $weight A valoriser avec la taille en centimĂštres du patient
+ *
+ * @return $this
+ */
+ public function setWeight(?int $weight = null): self
+ {
+ $this->weight = $weight;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/interventionreport/Redactor.php b/generator_php-symfony/package/src/Model/interventionreport/Redactor.php
new file mode 100644
index 0000000000..269168c11d
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/interventionreport/Redactor.php
@@ -0,0 +1,135 @@
+label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ $this->role = array_key_exists('role', $data) ? $data['role'] : $this->role;
+ }
+ }
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le prénom et le nom du rédacteur, un numéro RPPS, un matricule, etc.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label = null): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets role.
+ *
+ * @return string|null
+ */
+ public function getRole(): ?string
+ {
+ return $this->role;
+ }
+
+ /**
+ * Sets role.
+ *
+ * @param string|null $role A valoriser avec le rÎle du rédacteur du bilan (ex. médecin, infirmier, ambulancier).
+ *
+ * @return $this
+ */
+ public function setRole(?string $role): self
+ {
+ $this->role = $role;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/interventionreport/Vital.php b/generator_php-symfony/package/src/Model/interventionreport/Vital.php
new file mode 100644
index 0000000000..f6f62f3b5c
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/interventionreport/Vital.php
@@ -0,0 +1,174 @@
+type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->value = array_key_exists('value', $data) ? $data['value'] : $this->value;
+ $this->precision = array_key_exists('precision', $data) ? $data['precision'] : $this->precision;
+ }
+ }
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type Permet d'indiquer le type de constante associé à la valeur envoyée
+ *
+ * @return $this
+ */
+ public function setType(?string $type): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets value.
+ *
+ * @return string|null
+ */
+ public function getValue(): ?string
+ {
+ return $this->value;
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param string|null $value Indique la valeur de la derniĂšre constante prise
+ *
+ * @return $this
+ */
+ public function setValue(?string $value): self
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets precision.
+ *
+ * @return string|null
+ */
+ public function getPrecision(): ?string
+ {
+ return $this->precision;
+ }
+
+ /**
+ * Sets precision.
+ *
+ * @param string|null $precision Permet d'apporter des précisions sur la constante prise (ex. le débit d'oxygÚne lors de la prise de constante de saturation en oxygÚne)
+ *
+ * @return $this
+ */
+ public function setPrecision(?string $precision = null): self
+ {
+ $this->precision = $precision;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rcde/DistributionElement.php b/generator_php-symfony/package/src/Model/rcde/DistributionElement.php
new file mode 100644
index 0000000000..b46c472922
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rcde/DistributionElement.php
@@ -0,0 +1,295 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\rcde\Recipient"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $recipient = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->messageId = array_key_exists('messageId', $data) ? $data['messageId'] : $this->messageId;
+ $this->sender = array_key_exists('sender', $data) ? $data['sender'] : $this->sender;
+ $this->sentAt = array_key_exists('sentAt', $data) ? $data['sentAt'] : $this->sentAt;
+ $this->kind = array_key_exists('kind', $data) ? $data['kind'] : $this->kind;
+ $this->status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ $this->recipient = array_key_exists('recipient', $data) ? $data['recipient'] : $this->recipient;
+ }
+ }
+
+ /**
+ * Gets messageId.
+ *
+ * @return string|null
+ */
+ public function getMessageId(): ?string
+ {
+ return $this->messageId;
+ }
+
+ /**
+ * Sets messageId.
+ *
+ * @param string|null $messageId Identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setMessageId(?string $messageId): self
+ {
+ $this->messageId = $messageId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sender.
+ *
+ * @return Sender|null
+ */
+ public function getSender(): ?Sender
+ {
+ return $this->sender;
+ }
+
+ /**
+ * Sets sender.
+ *
+ * @param Sender|null $sender
+ *
+ * @return $this
+ */
+ public function setSender(?Sender $sender): self
+ {
+ $this->sender = $sender;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sentAt.
+ *
+ * @return \DateTime|null
+ */
+ public function getSentAt(): ?\DateTime
+ {
+ return $this->sentAt;
+ }
+
+ /**
+ * Sets sentAt.
+ *
+ * @param \DateTime|null $sentAt Groupe date heure de dĂ©but de partage liĂ© Ă l'envoi du message. Il doit ĂȘtre cohĂ©rent avec le champ de l'enveloppe EDXL (voir DST). L'indicateur de fuseau horaire Z ne doit pas ĂȘtre utilisĂ©. Le fuseau horaire pour UTC doit ĂȘtre reprĂ©sentĂ© par '-00:00'
+ *
+ * @return $this
+ */
+ public function setSentAt(?\DateTime $sentAt): self
+ {
+ $this->sentAt = $sentAt;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets kind.
+ *
+ * @return string|null
+ */
+ public function getKind(): ?string
+ {
+ return $this->kind;
+ }
+
+ /**
+ * Sets kind.
+ *
+ * @param string|null $kind Prend la valeur kind = $kind;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status Prend la valeur de l'enveloppe EDXL (voir DST)
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets recipient.
+ *
+ * @return Recipient[]|null
+ */
+ public function getRecipient(): ?array
+ {
+ return $this->recipient;
+ }
+
+ /**
+ * Sets recipient.
+ *
+ * @param Recipient[]|null $recipient
+ *
+ * @return $this
+ */
+ public function setRecipient(?array $recipient): self
+ {
+ $this->recipient = $recipient;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rcde/Recipient.php b/generator_php-symfony/package/src/Model/rcde/Recipient.php
new file mode 100644
index 0000000000..f62a469e2a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rcde/Recipient.php
@@ -0,0 +1,135 @@
+name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->uRI = array_key_exists('uRI', $data) ? $data['uRI'] : $this->uRI;
+ }
+ }
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name Identifiant technique du systĂšme emetteur Format : => Pour les SAMU : {clĂ© de routage}-{nom solution LRM} oĂč clĂ© de routage dĂ©signe le nom de la clĂ© de routage utilisĂ©e par le LRM pour les Ă©changes et {nom solution LRM} est le nom donnĂ© par l'Ă©diteur Ă sa solution (libre) => Pour NeXSIS : Ă dĂ©finir {sga|sgo}-nexsis
+ *
+ * @return $this
+ */
+ public function setName(?string $name): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uRI.
+ *
+ * @return string|null
+ */
+ public function getURI(): ?string
+ {
+ return $this->uRI;
+ }
+
+ /**
+ * Sets uRI.
+ *
+ * @param string|null $uRI uri du systÚme. Permet d'identifier le vecteur utilisé par les échanges Format : => Pour les LRM : sge:{recipient:name} => Pour NexSIS : sge:{recipient:name}
+ *
+ * @return $this
+ */
+ public function setURI(?string $uRI): self
+ {
+ $this->uRI = $uRI;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rcde/Sender.php b/generator_php-symfony/package/src/Model/rcde/Sender.php
new file mode 100644
index 0000000000..fddd7968ea
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rcde/Sender.php
@@ -0,0 +1,135 @@
+name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->uRI = array_key_exists('uRI', $data) ? $data['uRI'] : $this->uRI;
+ }
+ }
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name Identifiant technique du systĂšme emetteur Format : => Pour les SAMU : {nom solution LRM}-{clĂ© de routage} oĂč clĂ© de routage dĂ©signe le nom de la clĂ© de routage utilisĂ©e par le LRM pour les Ă©changes et {nom solution LRM} est le nom donnĂ© par l'Ă©diteur Ă sa solution (libre) => Pour NeXSIS : Ă dĂ©finir {sga|sgo}-nexsis
+ *
+ * @return $this
+ */
+ public function setName(?string $name): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets uRI.
+ *
+ * @return string|null
+ */
+ public function getURI(): ?string
+ {
+ return $this->uRI;
+ }
+
+ /**
+ * Sets uRI.
+ *
+ * @param string|null $uRI uri du systÚme. Permet d'identifier le vecteur utilisé par les échanges Format : => Pour les LRM : {nom éditeur}:{sender:name} => Pour NexSIS : sge:{sender:name}
+ *
+ * @return $this
+ */
+ public function setURI(?string $uRI): self
+ {
+ $this->uRI = $uRI;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/reference/Reference.php b/generator_php-symfony/package/src/Model/reference/Reference.php
new file mode 100644
index 0000000000..a98a543fca
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/reference/Reference.php
@@ -0,0 +1,211 @@
+distributionID = array_key_exists('distributionID', $data) ? $data['distributionID'] : $this->distributionID;
+ $this->refused = array_key_exists('refused', $data) ? $data['refused'] : $this->refused;
+ $this->errorDistributionID = array_key_exists('errorDistributionID', $data) ? $data['errorDistributionID'] : $this->errorDistributionID;
+ $this->step = array_key_exists('step', $data) ? $data['step'] : $this->step;
+ }
+ }
+
+ /**
+ * Gets distributionID.
+ *
+ * @return string|null
+ */
+ public function getDistributionID(): ?string
+ {
+ return $this->distributionID;
+ }
+
+ /**
+ * Sets distributionID.
+ *
+ * @param string|null $distributionID Identifiant unique du message référencé
+ *
+ * @return $this
+ */
+ public function setDistributionID(?string $distributionID): self
+ {
+ $this->distributionID = $distributionID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets refused.
+ *
+ * @return bool|null
+ */
+ public function isRefused(): ?bool
+ {
+ return $this->refused;
+ }
+
+ /**
+ * Sets refused.
+ *
+ * @param bool|null $refused Indique si le message acquitté a été refusé
+ *
+ * @return $this
+ */
+ public function setRefused(?bool $refused = null): self
+ {
+ $this->refused = $refused;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets errorDistributionID.
+ *
+ * @return string|null
+ */
+ public function getErrorDistributionID(): ?string
+ {
+ return $this->errorDistributionID;
+ }
+
+ /**
+ * Sets errorDistributionID.
+ *
+ * @param string|null $errorDistributionID Identifiant unique du message d'erreur lié
+ *
+ * @return $this
+ */
+ public function setErrorDistributionID(?string $errorDistributionID = null): self
+ {
+ $this->errorDistributionID = $errorDistributionID;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets step.
+ *
+ * @return string|null
+ */
+ public function getStep(): ?string
+ {
+ return $this->step;
+ }
+
+ /**
+ * Sets step.
+ *
+ * @param string|null $step Nomenclature permettant d'identifier les différentes étapes d'intégration et de consultation du message dans le systÚme émetteur
+ *
+ * @return $this
+ */
+ public function setStep(?string $step = null): self
+ {
+ $this->step = $step;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/reference/ReferenceWrapper.php b/generator_php-symfony/package/src/Model/reference/ReferenceWrapper.php
new file mode 100644
index 0000000000..b1fea91b4a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/reference/ReferenceWrapper.php
@@ -0,0 +1,95 @@
+reference = array_key_exists('reference', $data) ? $data['reference'] : $this->reference;
+ }
+ }
+
+ /**
+ * Gets reference.
+ *
+ * @return Reference|null
+ */
+ public function getReference(): ?Reference
+ {
+ return $this->reference;
+ }
+
+ /**
+ * Sets reference.
+ *
+ * @param Reference|null $reference
+ *
+ * @return $this
+ */
+ public function setReference(?Reference $reference): self
+ {
+ $this->reference = $reference;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/report/Error.php b/generator_php-symfony/package/src/Model/report/Error.php
new file mode 100644
index 0000000000..edd58b964d
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/report/Error.php
@@ -0,0 +1,211 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("AnyType"),
+ ])]
+ protected ?array $sourceMessage = null;
+
+ /**
+ * DistributionID du message source
+ *
+ * @var string|null
+ * @SerializedName("referencedDistributionID")
+ * @Type("string")
+ */
+ #[Assert\NotNull]
+ #[Assert\Type("string")]
+ protected ?string $referencedDistributionID = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->errorCode = array_key_exists('errorCode', $data) ? $data['errorCode'] : $this->errorCode;
+ $this->errorCause = array_key_exists('errorCause', $data) ? $data['errorCause'] : $this->errorCause;
+ $this->sourceMessage = array_key_exists('sourceMessage', $data) ? $data['sourceMessage'] : $this->sourceMessage;
+ $this->referencedDistributionID = array_key_exists('referencedDistributionID', $data) ? $data['referencedDistributionID'] : $this->referencedDistributionID;
+ }
+ }
+
+ /**
+ * Gets errorCode.
+ *
+ * @return ErrorCode|null
+ */
+ public function getErrorCode(): ?ErrorCode
+ {
+ return $this->errorCode;
+ }
+
+ /**
+ * Sets errorCode.
+ *
+ * @param ErrorCode|null $errorCode
+ *
+ * @return $this
+ */
+ public function setErrorCode(?ErrorCode $errorCode): self
+ {
+ $this->errorCode = $errorCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets errorCause.
+ *
+ * @return string|null
+ */
+ public function getErrorCause(): ?string
+ {
+ return $this->errorCause;
+ }
+
+ /**
+ * Sets errorCause.
+ *
+ * @param string|null $errorCause La ou les causes d'erreur dans le message source
+ *
+ * @return $this
+ */
+ public function setErrorCause(?string $errorCause): self
+ {
+ $this->errorCause = $errorCause;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sourceMessage.
+ *
+ * @return []|null
+ */
+ public function getSourceMessage(): ?array
+ {
+ return $this->sourceMessage;
+ }
+
+ /**
+ * Sets sourceMessage.
+ *
+ * @param []|null $sourceMessage
+ *
+ * @return $this
+ */
+ public function setSourceMessage(?array $sourceMessage = null): self
+ {
+ $this->sourceMessage = $sourceMessage;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets referencedDistributionID.
+ *
+ * @return string|null
+ */
+ public function getReferencedDistributionID(): ?string
+ {
+ return $this->referencedDistributionID;
+ }
+
+ /**
+ * Sets referencedDistributionID.
+ *
+ * @param string|null $referencedDistributionID DistributionID du message source
+ *
+ * @return $this
+ */
+ public function setReferencedDistributionID(?string $referencedDistributionID): self
+ {
+ $this->referencedDistributionID = $referencedDistributionID;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/report/ErrorCode.php b/generator_php-symfony/package/src/Model/report/ErrorCode.php
new file mode 100644
index 0000000000..c09118fba3
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/report/ErrorCode.php
@@ -0,0 +1,135 @@
+statusCode = array_key_exists('statusCode', $data) ? $data['statusCode'] : $this->statusCode;
+ $this->statusString = array_key_exists('statusString', $data) ? $data['statusString'] : $this->statusString;
+ }
+ }
+
+ /**
+ * Gets statusCode.
+ *
+ * @return float|null
+ */
+ public function getStatusCode(): ?float
+ {
+ return $this->statusCode;
+ }
+
+ /**
+ * Sets statusCode.
+ *
+ * @param float|null $statusCode Code numerique representant l'erreur
+ *
+ * @return $this
+ */
+ public function setStatusCode(?float $statusCode): self
+ {
+ $this->statusCode = $statusCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets statusString.
+ *
+ * @return string|null
+ */
+ public function getStatusString(): ?string
+ {
+ return $this->statusString;
+ }
+
+ /**
+ * Sets statusString.
+ *
+ * @param string|null $statusString Chaine de caracteres representant l'erreur
+ *
+ * @return $this
+ */
+ public function setStatusString(?string $statusString): self
+ {
+ $this->statusString = $statusString;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/report/ErrorWrapper.php b/generator_php-symfony/package/src/Model/report/ErrorWrapper.php
new file mode 100644
index 0000000000..28ad037484
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/report/ErrorWrapper.php
@@ -0,0 +1,95 @@
+error = array_key_exists('error', $data) ? $data['error'] : $this->error;
+ }
+ }
+
+ /**
+ * Gets error.
+ *
+ * @return Error|null
+ */
+ public function getError(): ?Error
+ {
+ return $this->error;
+ }
+
+ /**
+ * Sets error.
+ *
+ * @param Error|null $error
+ *
+ * @return $this
+ */
+ public function setError(?Error $error): self
+ {
+ $this->error = $error;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/info/Contact.php b/generator_php-symfony/package/src/Model/resources/info/Contact.php
new file mode 100644
index 0000000000..525d17e000
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/info/Contact.php
@@ -0,0 +1,134 @@
+type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->details = array_key_exists('details', $data) ? $data['details'] : $this->details;
+ }
+ }
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets details.
+ *
+ * @return string|null
+ */
+ public function getDetails(): ?string
+ {
+ return $this->details;
+ }
+
+ /**
+ * Sets details.
+ *
+ * @param string|null $details A valoriser avec la valeur de l'URI utilisée Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}
+ *
+ * @return $this
+ */
+ public function setDetails(?string $details = null): self
+ {
+ $this->details = $details;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/info/Resource.php b/generator_php-symfony/package/src/Model/resources/info/Resource.php
new file mode 100644
index 0000000000..6d97f530a2
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/info/Resource.php
@@ -0,0 +1,593 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\resources.info\State"),
+ ])]
+ protected ?array $state = null;
+
+ /**
+ * @var Contact|null
+ * @SerializedName("contact")
+ * @Type("Hubsante\Model\resources.info\Contact")
+ */
+ #[Assert\Type("Hubsante\Model\resources.info\Contact")]
+ protected ?Contact $contact = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("freetext")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $freetext = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->resourceId = array_key_exists('resourceId', $data) ? $data['resourceId'] : $this->resourceId;
+ $this->requestId = array_key_exists('requestId', $data) ? $data['requestId'] : $this->requestId;
+ $this->missionId = array_key_exists('missionId', $data) ? $data['missionId'] : $this->missionId;
+ $this->orgId = array_key_exists('orgId', $data) ? $data['orgId'] : $this->orgId;
+ $this->patientId = array_key_exists('patientId', $data) ? $data['patientId'] : $this->patientId;
+ $this->centerName = array_key_exists('centerName', $data) ? $data['centerName'] : $this->centerName;
+ $this->vehicleType = array_key_exists('vehicleType', $data) ? $data['vehicleType'] : $this->vehicleType;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ $this->centerCity = array_key_exists('centerCity', $data) ? $data['centerCity'] : $this->centerCity;
+ $this->team = array_key_exists('team', $data) ? $data['team'] : $this->team;
+ $this->state = array_key_exists('state', $data) ? $data['state'] : $this->state;
+ $this->contact = array_key_exists('contact', $data) ? $data['contact'] : $this->contact;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec la date et heure d'engagement de la ressource/du vecteur
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets resourceId.
+ *
+ * @return string|null
+ */
+ public function getResourceId(): ?string
+ {
+ return $this->resourceId;
+ }
+
+ /**
+ * Sets resourceId.
+ *
+ * @param string|null $resourceId A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}
+ *
+ * @return $this
+ */
+ public function setResourceId(?string $resourceId): self
+ {
+ $this->resourceId = $resourceId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets requestId.
+ *
+ * @return string|null
+ */
+ public function getRequestId(): ?string
+ {
+ return $this->requestId;
+ }
+
+ /**
+ * Sets requestId.
+ *
+ * @param string|null $requestId A valoriser avec l'identifiant unique partagĂ© de la demande de ressource (si la ressource a Ă©tĂ© engagĂ©e suite Ă une demande de ressource), normĂ© comme suit : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - si un ID unique de la demande n'Ă©tait pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}
+ *
+ * @return $this
+ */
+ public function setRequestId(?string $requestId = null): self
+ {
+ $this->requestId = $requestId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets missionId.
+ *
+ * @return string|null
+ */
+ public function getMissionId(): ?string
+ {
+ return $this->missionId;
+ }
+
+ /**
+ * Sets missionId.
+ *
+ * @param string|null $missionId A valoriser avec le numĂ©ro de mission unique du central dâappel (PSAP, âŠ) qui a dĂ©clenchĂ© le vecteur
+ *
+ * @return $this
+ */
+ public function setMissionId(?string $missionId = null): self
+ {
+ $this->missionId = $missionId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets orgId.
+ *
+ * @return string|null
+ */
+ public function getOrgId(): ?string
+ {
+ return $this->orgId;
+ }
+
+ /**
+ * Sets orgId.
+ *
+ * @param string|null $orgId A valoriser avec l'identifiant de l'organisation à laquelle appartient la ressource, normé comme suit : {pays}.{domaine}.{organisation}
+ *
+ * @return $this
+ */
+ public function setOrgId(?string $orgId = null): self
+ {
+ $this->orgId = $orgId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets patientId.
+ *
+ * @return string|null
+ */
+ public function getPatientId(): ?string
+ {
+ return $this->patientId;
+ }
+
+ /**
+ * Sets patientId.
+ *
+ * @param string|null $patientId Identifiant partagĂ© du patient qui est transportĂ©. Ce n'est Ă remplir que lorsque l'on sait quel vecteur transporte quel patient. Il est valorisĂ© comme suit lors de sa crĂ©ation : {OrgId Ă©metteur}.patient.{n°patient unique dans le systĂšme Ă©metteur} OU, si un n°patient unique n'existe pas dans le systĂšme Ă©metteur : {ID Ă©metteur}.{senderCaseId}.patient.{numĂ©ro dâordre chronologique au dossier}
+ *
+ * @return $this
+ */
+ public function setPatientId(?string $patientId = null): self
+ {
+ $this->patientId = $patientId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets centerName.
+ *
+ * @return string|null
+ */
+ public function getCenterName(): ?string
+ {
+ return $this->centerName;
+ }
+
+ /**
+ * Sets centerName.
+ *
+ * @param string|null $centerName A valoriser avec le lieu de garage principal
+ *
+ * @return $this
+ */
+ public function setCenterName(?string $centerName = null): self
+ {
+ $this->centerName = $centerName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets vehicleType.
+ *
+ * @return string|null
+ */
+ public function getVehicleType(): ?string
+ {
+ return $this->vehicleType;
+ }
+
+ /**
+ * Sets vehicleType.
+ *
+ * @param string|null $vehicleType A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée
+ *
+ * @return $this
+ */
+ public function setVehicleType(?string $vehicleType): self
+ {
+ $this->vehicleType = $vehicleType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom donnĂ© Ă la ressource par lâorganisation dâappartenance
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets centerCity.
+ *
+ * @return string|null
+ */
+ public function getCenterCity(): ?string
+ {
+ return $this->centerCity;
+ }
+
+ /**
+ * Sets centerCity.
+ *
+ * @param string|null $centerCity A valoriser avec le code INSEE de la commune du centre d'affectation
+ *
+ * @return $this
+ */
+ public function setCenterCity(?string $centerCity = null): self
+ {
+ $this->centerCity = $centerCity;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets team.
+ *
+ * @return Team|null
+ */
+ public function getTeam(): ?Team
+ {
+ return $this->team;
+ }
+
+ /**
+ * Sets team.
+ *
+ * @param Team|null $team
+ *
+ * @return $this
+ */
+ public function setTeam(?Team $team = null): self
+ {
+ $this->team = $team;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets state.
+ *
+ * @return State[]|null
+ */
+ public function getState(): ?array
+ {
+ return $this->state;
+ }
+
+ /**
+ * Sets state.
+ *
+ * @param State[]|null $state
+ *
+ * @return $this
+ */
+ public function setState(?array $state = null): self
+ {
+ $this->state = $state;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets contact.
+ *
+ * @return Contact|null
+ */
+ public function getContact(): ?Contact
+ {
+ return $this->contact;
+ }
+
+ /**
+ * Sets contact.
+ *
+ * @param Contact|null $contact
+ *
+ * @return $this
+ */
+ public function setContact(?Contact $contact = null): self
+ {
+ $this->contact = $contact;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string[]|null
+ */
+ public function getFreetext(): ?array
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string[]|null $freetext
+ *
+ * @return $this
+ */
+ public function setFreetext(?array $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/info/ResourcesInfo.php b/generator_php-symfony/package/src/Model/resources/info/ResourcesInfo.php
new file mode 100644
index 0000000000..48d8a6ebcd
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/info/ResourcesInfo.php
@@ -0,0 +1,138 @@
+")
+ */
+ #[Assert\NotNull]
+ #[Assert\Valid]
+ #[Assert\All([
+ new Assert\Type("Hubsante\Model\resources.info\Resource"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $resource = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->resource = array_key_exists('resource', $data) ? $data['resource'] : $this->resource;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets resource.
+ *
+ * @return Resource[]|null
+ */
+ public function getResource(): ?array
+ {
+ return $this->resource;
+ }
+
+ /**
+ * Sets resource.
+ *
+ * @param Resource[]|null $resource
+ *
+ * @return $this
+ */
+ public function setResource(?array $resource): self
+ {
+ $this->resource = $resource;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/info/ResourcesInfoWrapper.php b/generator_php-symfony/package/src/Model/resources/info/ResourcesInfoWrapper.php
new file mode 100644
index 0000000000..8cff05d289
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/info/ResourcesInfoWrapper.php
@@ -0,0 +1,95 @@
+resourcesInfo = array_key_exists('resourcesInfo', $data) ? $data['resourcesInfo'] : $this->resourcesInfo;
+ }
+ }
+
+ /**
+ * Gets resourcesInfo.
+ *
+ * @return ResourcesInfo|null
+ */
+ public function getResourcesInfo(): ?ResourcesInfo
+ {
+ return $this->resourcesInfo;
+ }
+
+ /**
+ * Sets resourcesInfo.
+ *
+ * @param ResourcesInfo|null $resourcesInfo
+ *
+ * @return $this
+ */
+ public function setResourcesInfo(?ResourcesInfo $resourcesInfo): self
+ {
+ $this->resourcesInfo = $resourcesInfo;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/info/State.php b/generator_php-symfony/package/src/Model/resources/info/State.php
new file mode 100644
index 0000000000..d66b474b54
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/info/State.php
@@ -0,0 +1,175 @@
+datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ $this->availability = array_key_exists('availability', $data) ? $data['availability'] : $this->availability;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec la date et heure d'engagement de changement vers le nouveau statut
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets availability.
+ *
+ * @return bool|null
+ */
+ public function isAvailability(): ?bool
+ {
+ return $this->availability;
+ }
+
+ /**
+ * Sets availability.
+ *
+ * @param bool|null $availability A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU
+ *
+ * @return $this
+ */
+ public function setAvailability(?bool $availability = null): self
+ {
+ $this->availability = $availability;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/info/Team.php b/generator_php-symfony/package/src/Model/resources/info/Team.php
new file mode 100644
index 0000000000..8bef5105fd
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/info/Team.php
@@ -0,0 +1,134 @@
+medicalLevel = array_key_exists('medicalLevel', $data) ? $data['medicalLevel'] : $this->medicalLevel;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ }
+ }
+
+ /**
+ * Gets medicalLevel.
+ *
+ * @return string|null
+ */
+ public function getMedicalLevel(): ?string
+ {
+ return $this->medicalLevel;
+ }
+
+ /**
+ * Sets medicalLevel.
+ *
+ * @param string|null $medicalLevel A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée
+ *
+ * @return $this
+ */
+ public function setMedicalLevel(?string $medicalLevel = null): self
+ {
+ $this->medicalLevel = $medicalLevel;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name A valoriser avec le nom de l'équipe à bord du vecteur (celui communiqué par l'organisation à laquelle l'équipe appartient)
+ *
+ * @return $this
+ */
+ public function setName(?string $name = null): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/request/Request.php b/generator_php-symfony/package/src/Model/resources/request/Request.php
new file mode 100644
index 0000000000..37d3ab872e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/request/Request.php
@@ -0,0 +1,293 @@
+requestId = array_key_exists('requestId', $data) ? $data['requestId'] : $this->requestId;
+ $this->datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->convention = array_key_exists('convention', $data) ? $data['convention'] : $this->convention;
+ $this->purpose = array_key_exists('purpose', $data) ? $data['purpose'] : $this->purpose;
+ $this->deadline = array_key_exists('deadline', $data) ? $data['deadline'] : $this->deadline;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets requestId.
+ *
+ * @return string|null
+ */
+ public function getRequestId(): ?string
+ {
+ return $this->requestId;
+ }
+
+ /**
+ * Sets requestId.
+ *
+ * @param string|null $requestId Identifiant unique partagĂ© de la demande de ressource, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui Ă©met la demande Il est valorisĂ© comme suit lors de sa crĂ©ation : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - uniquement si un ID unique de la demande n'est pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}
+ *
+ * @return $this
+ */
+ public function setRequestId(?string $requestId): self
+ {
+ $this->requestId = $requestId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec le groupe date heure de création de la demande
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets convention.
+ *
+ * @return string|null
+ */
+ public function getConvention(): ?string
+ {
+ return $this->convention;
+ }
+
+ /**
+ * Sets convention.
+ *
+ * @param string|null $convention A valoriser avec le cadre conventionnel de la demande. Cf nomenclature associée
+ *
+ * @return $this
+ */
+ public function setConvention(?string $convention = null): self
+ {
+ $this->convention = $convention;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets purpose.
+ *
+ * @return string|null
+ */
+ public function getPurpose(): ?string
+ {
+ return $this->purpose;
+ }
+
+ /**
+ * Sets purpose.
+ *
+ * @param string|null $purpose A valoriser avec le motif de la demande de ressource auprÚs du partenaire. Cf Nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setPurpose(?string $purpose): self
+ {
+ $this->purpose = $purpose;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets deadline.
+ *
+ * @return string|null
+ */
+ public function getDeadline(): ?string
+ {
+ return $this->deadline;
+ }
+
+ /**
+ * Sets deadline.
+ *
+ * @param string|null $deadline A valoriser avec le délai d'intervention maximum souhaité (cf. nomenclature associée)
+ *
+ * @return $this
+ */
+ public function setDeadline(?string $deadline = null): self
+ {
+ $this->deadline = $deadline;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Texte libre permettant de détailler la demande
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/request/ResourcesRequest.php b/generator_php-symfony/package/src/Model/resources/request/ResourcesRequest.php
new file mode 100644
index 0000000000..f8720c8609
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/request/ResourcesRequest.php
@@ -0,0 +1,174 @@
+caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->request = array_key_exists('request', $data) ? $data['request'] : $this->request;
+ $this->status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets request.
+ *
+ * @return Request|null
+ */
+ public function getRequest(): ?Request
+ {
+ return $this->request;
+ }
+
+ /**
+ * Sets request.
+ *
+ * @param Request|null $request
+ *
+ * @return $this
+ */
+ public function setRequest(?Request $request): self
+ {
+ $this->request = $request;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status A valoriser avec l'état d'annulation de la demande le cas échéant
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status = null): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/request/ResourcesRequestWrapper.php b/generator_php-symfony/package/src/Model/resources/request/ResourcesRequestWrapper.php
new file mode 100644
index 0000000000..1b1310ff0f
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/request/ResourcesRequestWrapper.php
@@ -0,0 +1,95 @@
+resourcesRequest = array_key_exists('resourcesRequest', $data) ? $data['resourcesRequest'] : $this->resourcesRequest;
+ }
+ }
+
+ /**
+ * Gets resourcesRequest.
+ *
+ * @return ResourcesRequest|null
+ */
+ public function getResourcesRequest(): ?ResourcesRequest
+ {
+ return $this->resourcesRequest;
+ }
+
+ /**
+ * Sets resourcesRequest.
+ *
+ * @param ResourcesRequest|null $resourcesRequest
+ *
+ * @return $this
+ */
+ public function setResourcesRequest(?ResourcesRequest $resourcesRequest): self
+ {
+ $this->resourcesRequest = $resourcesRequest;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/response/ResourcesResponse.php b/generator_php-symfony/package/src/Model/resources/response/ResourcesResponse.php
new file mode 100644
index 0000000000..c751f26973
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/response/ResourcesResponse.php
@@ -0,0 +1,175 @@
+caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->requestId = array_key_exists('requestId', $data) ? $data['requestId'] : $this->requestId;
+ $this->response = array_key_exists('response', $data) ? $data['response'] : $this->response;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets requestId.
+ *
+ * @return string|null
+ */
+ public function getRequestId(): ?string
+ {
+ return $this->requestId;
+ }
+
+ /**
+ * Sets requestId.
+ *
+ * @param string|null $requestId A valoriser avec l'identifiant unique partagĂ© de la demande de ressource, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui Ă©met la demande Il est valorisĂ© comme suit lors de sa crĂ©ation : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - uniquement si un ID unique de la demande n'est pas disponible : OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}
+ *
+ * @return $this
+ */
+ public function setRequestId(?string $requestId): self
+ {
+ $this->requestId = $requestId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets response.
+ *
+ * @return Response|null
+ */
+ public function getResponse(): ?Response
+ {
+ return $this->response;
+ }
+
+ /**
+ * Sets response.
+ *
+ * @param Response|null $response
+ *
+ * @return $this
+ */
+ public function setResponse(?Response $response): self
+ {
+ $this->response = $response;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/response/ResourcesResponseWrapper.php b/generator_php-symfony/package/src/Model/resources/response/ResourcesResponseWrapper.php
new file mode 100644
index 0000000000..90e76735f5
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/response/ResourcesResponseWrapper.php
@@ -0,0 +1,95 @@
+resourcesResponse = array_key_exists('resourcesResponse', $data) ? $data['resourcesResponse'] : $this->resourcesResponse;
+ }
+ }
+
+ /**
+ * Gets resourcesResponse.
+ *
+ * @return ResourcesResponse|null
+ */
+ public function getResourcesResponse(): ?ResourcesResponse
+ {
+ return $this->resourcesResponse;
+ }
+
+ /**
+ * Sets resourcesResponse.
+ *
+ * @param ResourcesResponse|null $resourcesResponse
+ *
+ * @return $this
+ */
+ public function setResourcesResponse(?ResourcesResponse $resourcesResponse): self
+ {
+ $this->resourcesResponse = $resourcesResponse;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/response/Response.php b/generator_php-symfony/package/src/Model/resources/response/Response.php
new file mode 100644
index 0000000000..d6403b9230
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/response/Response.php
@@ -0,0 +1,214 @@
+datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->answer = array_key_exists('answer', $data) ? $data['answer'] : $this->answer;
+ $this->deadline = array_key_exists('deadline', $data) ? $data['deadline'] : $this->deadline;
+ $this->freetext = array_key_exists('freetext', $data) ? $data['freetext'] : $this->freetext;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime Groupe date heure de début de la demande
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets answer.
+ *
+ * @return string|null
+ */
+ public function getAnswer(): ?string
+ {
+ return $this->answer;
+ }
+
+ /**
+ * Sets answer.
+ *
+ * @param string|null $answer A valoriser avec la réponse apportée. Cf Nomenclature associée ACCEPTEE, REFUSEE, PARTIELLE, DIFFEREE
+ *
+ * @return $this
+ */
+ public function setAnswer(?string $answer): self
+ {
+ $this->answer = $answer;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets deadline.
+ *
+ * @return string|null
+ */
+ public function getDeadline(): ?string
+ {
+ return $this->deadline;
+ }
+
+ /**
+ * Sets deadline.
+ *
+ * @param string|null $deadline A valoriser avec le dĂ©lai de rĂ©ponse auquel s'engage l'expĂ©diteur (cf. nomenclature) Cas particulier : en cas de rĂ©ponse \"Partielle\" car le dĂ©lai souhaitĂ© ne peut pas ĂȘtre respectĂ©, Ă valoriser obligatoirement avec le dĂ©lai de rĂ©ponse maximum auquel s'engage l'expĂ©diteur de la rĂ©ponse,
+ *
+ * @return $this
+ */
+ public function setDeadline(?string $deadline = null): self
+ {
+ $this->deadline = $deadline;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets freetext.
+ *
+ * @return string|null
+ */
+ public function getFreetext(): ?string
+ {
+ return $this->freetext;
+ }
+
+ /**
+ * Sets freetext.
+ *
+ * @param string|null $freetext Commentaire libre permettant d'apporter toutes précisions utiles à la réponse. Le motif de refus est notifié dans ce champ.
+ *
+ * @return $this
+ */
+ public function setFreetext(?string $freetext = null): self
+ {
+ $this->freetext = $freetext;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/status/ResourcesStatus.php b/generator_php-symfony/package/src/Model/resources/status/ResourcesStatus.php
new file mode 100644
index 0000000000..90629fe575
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/status/ResourcesStatus.php
@@ -0,0 +1,175 @@
+caseId = array_key_exists('caseId', $data) ? $data['caseId'] : $this->caseId;
+ $this->resourceId = array_key_exists('resourceId', $data) ? $data['resourceId'] : $this->resourceId;
+ $this->state = array_key_exists('state', $data) ? $data['state'] : $this->state;
+ }
+ }
+
+ /**
+ * Gets caseId.
+ *
+ * @return string|null
+ */
+ public function getCaseId(): ?string
+ {
+ return $this->caseId;
+ }
+
+ /**
+ * Sets caseId.
+ *
+ * @param string|null $caseId A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ *
+ * @return $this
+ */
+ public function setCaseId(?string $caseId): self
+ {
+ $this->caseId = $caseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets resourceId.
+ *
+ * @return string|null
+ */
+ public function getResourceId(): ?string
+ {
+ return $this->resourceId;
+ }
+
+ /**
+ * Sets resourceId.
+ *
+ * @param string|null $resourceId A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e , normĂ© comme suit : {orgID}.R.{ID unique de la ressource partagĂ©e} Ou, uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.R.{ID du dossier partagĂ©}.{numĂ©ro dâordre chronologique ressource} N.B. Il s'agit de l'orgId de l'organisation Ă qui appartient la ressource
+ *
+ * @return $this
+ */
+ public function setResourceId(?string $resourceId): self
+ {
+ $this->resourceId = $resourceId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets state.
+ *
+ * @return State|null
+ */
+ public function getState(): ?State
+ {
+ return $this->state;
+ }
+
+ /**
+ * Sets state.
+ *
+ * @param State|null $state
+ *
+ * @return $this
+ */
+ public function setState(?State $state): self
+ {
+ $this->state = $state;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/status/ResourcesStatusWrapper.php b/generator_php-symfony/package/src/Model/resources/status/ResourcesStatusWrapper.php
new file mode 100644
index 0000000000..ab62116a50
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/status/ResourcesStatusWrapper.php
@@ -0,0 +1,95 @@
+resourcesStatus = array_key_exists('resourcesStatus', $data) ? $data['resourcesStatus'] : $this->resourcesStatus;
+ }
+ }
+
+ /**
+ * Gets resourcesStatus.
+ *
+ * @return ResourcesStatus|null
+ */
+ public function getResourcesStatus(): ?ResourcesStatus
+ {
+ return $this->resourcesStatus;
+ }
+
+ /**
+ * Sets resourcesStatus.
+ *
+ * @param ResourcesStatus|null $resourcesStatus
+ *
+ * @return $this
+ */
+ public function setResourcesStatus(?ResourcesStatus $resourcesStatus): self
+ {
+ $this->resourcesStatus = $resourcesStatus;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/resources/status/State.php b/generator_php-symfony/package/src/Model/resources/status/State.php
new file mode 100644
index 0000000000..120c42d63b
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/resources/status/State.php
@@ -0,0 +1,175 @@
+datetime = array_key_exists('datetime', $data) ? $data['datetime'] : $this->datetime;
+ $this->status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ $this->availability = array_key_exists('availability', $data) ? $data['availability'] : $this->availability;
+ }
+ }
+
+ /**
+ * Gets datetime.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetime(): ?\DateTime
+ {
+ return $this->datetime;
+ }
+
+ /**
+ * Sets datetime.
+ *
+ * @param \DateTime|null $datetime A valoriser avec la date et heure d'engagement de changement vers le nouveau statut
+ *
+ * @return $this
+ */
+ public function setDatetime(?\DateTime $datetime): self
+ {
+ $this->datetime = $datetime;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets availability.
+ *
+ * @return bool|null
+ */
+ public function isAvailability(): ?bool
+ {
+ return $this->availability;
+ }
+
+ /**
+ * Sets availability.
+ *
+ * @param bool|null $availability A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU
+ *
+ * @return $this
+ */
+ public function setAvailability(?bool $availability = null): self
+ {
+ $this->availability = $availability;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Decision.php b/generator_php-symfony/package/src/Model/rpis/Decision.php
new file mode 100644
index 0000000000..d3ff594b5b
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Decision.php
@@ -0,0 +1,177 @@
+resourceType = array_key_exists('resourceType', $data) ? $data['resourceType'] : $this->resourceType;
+ $this->vehicleType = array_key_exists('vehicleType', $data) ? $data['vehicleType'] : $this->vehicleType;
+ $this->medicalLevel = array_key_exists('medicalLevel', $data) ? $data['medicalLevel'] : $this->medicalLevel;
+ }
+ }
+
+ /**
+ * Gets resourceType.
+ *
+ * @return string|null
+ */
+ public function getResourceType(): ?string
+ {
+ return $this->resourceType;
+ }
+
+ /**
+ * Sets resourceType.
+ *
+ * @param string|null $resourceType Précise le type de moyen engagé dans l'intervention (SMUR, TSU, HOSPIT, etc.). A valoriser par un code de la nomenclature SI-SAMU-TYPE_MOYEN.
+ *
+ * @return $this
+ */
+ public function setResourceType(?string $resourceType): self
+ {
+ $this->resourceType = $resourceType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets vehicleType.
+ *
+ * @return string|null
+ */
+ public function getVehicleType(): ?string
+ {
+ return $this->vehicleType;
+ }
+
+ /**
+ * Sets vehicleType.
+ *
+ * @param string|null $vehicleType Précise le type de véhicule terrestre / aérien / maritime engagé dans l'intervention. A valoriser par un code de la nomenclature SI-SAMU-TYPE_VECTEUR.
+ *
+ * @return $this
+ */
+ public function setVehicleType(?string $vehicleType): self
+ {
+ $this->vehicleType = $vehicleType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets medicalLevel.
+ *
+ * @return string|null
+ */
+ public function getMedicalLevel(): ?string
+ {
+ return $this->medicalLevel;
+ }
+
+ /**
+ * Sets medicalLevel.
+ *
+ * @param string|null $medicalLevel Type dâĂ©quipe (mĂ©dical, paramĂ©dicale, secouriste). A valoriser par un code de la nomenclature SI-SAMU-NIVSOIN.
+ *
+ * @return $this
+ */
+ public function setMedicalLevel(?string $medicalLevel): self
+ {
+ $this->medicalLevel = $medicalLevel;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Destination.php b/generator_php-symfony/package/src/Model/rpis/Destination.php
new file mode 100644
index 0000000000..b86c53800e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Destination.php
@@ -0,0 +1,214 @@
+destinationCountry = array_key_exists('destinationCountry', $data) ? $data['destinationCountry'] : $this->destinationCountry;
+ $this->destinationCategory = array_key_exists('destinationCategory', $data) ? $data['destinationCategory'] : $this->destinationCategory;
+ $this->healthcareType = array_key_exists('healthcareType', $data) ? $data['healthcareType'] : $this->healthcareType;
+ $this->finess = array_key_exists('finess', $data) ? $data['finess'] : $this->finess;
+ }
+ }
+
+ /**
+ * Gets destinationCountry.
+ *
+ * @return string|null
+ */
+ public function getDestinationCountry(): ?string
+ {
+ return $this->destinationCountry;
+ }
+
+ /**
+ * Sets destinationCountry.
+ *
+ * @param string|null $destinationCountry A valoriser par le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setDestinationCountry(?string $destinationCountry): self
+ {
+ $this->destinationCountry = $destinationCountry;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets destinationCategory.
+ *
+ * @return string|null
+ */
+ public function getDestinationCategory(): ?string
+ {
+ return $this->destinationCategory;
+ }
+
+ /**
+ * Sets destinationCategory.
+ *
+ * @param string|null $destinationCategory A valoriser par le code de la nomenclature associée
+ *
+ * @return $this
+ */
+ public function setDestinationCategory(?string $destinationCategory): self
+ {
+ $this->destinationCategory = $destinationCategory;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets healthcareType.
+ *
+ * @return string|null
+ */
+ public function getHealthcareType(): ?string
+ {
+ return $this->healthcareType;
+ }
+
+ /**
+ * Sets healthcareType.
+ *
+ * @param string|null $healthcareType A valoriser par le code de la nomenclature ActiviteOperationnelle (Ă venir).
+ *
+ * @return $this
+ */
+ public function setHealthcareType(?string $healthcareType): self
+ {
+ $this->healthcareType = $healthcareType;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets finess.
+ *
+ * @return string|null
+ */
+ public function getFiness(): ?string
+ {
+ return $this->finess;
+ }
+
+ /**
+ * Sets finess.
+ *
+ * @param string|null $finess FINESS gĂ©ographique de lâĂ©tablissement de destination (9 chiffres)
+ *
+ * @return $this
+ */
+ public function setFiness(?string $finess): self
+ {
+ $this->finess = $finess;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/DetailedAddress.php b/generator_php-symfony/package/src/Model/rpis/DetailedAddress.php
new file mode 100644
index 0000000000..80f4cf73da
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/DetailedAddress.php
@@ -0,0 +1,136 @@
+inseeCode = array_key_exists('inseeCode', $data) ? $data['inseeCode'] : $this->inseeCode;
+ $this->city = array_key_exists('city', $data) ? $data['city'] : $this->city;
+ }
+ }
+
+ /**
+ * Gets inseeCode.
+ *
+ * @return string|null
+ */
+ public function getInseeCode(): ?string
+ {
+ return $this->inseeCode;
+ }
+
+ /**
+ * Sets inseeCode.
+ *
+ * @param string|null $inseeCode Code INSEE de la commune actuelle sur la base du Code Officiel géographique en vigueur. Obligatoire si le nom de la commune est renseigné. Le Code INSEE peut également précisé le pays d'intervention, si étranger.
+ *
+ * @return $this
+ */
+ public function setInseeCode(?string $inseeCode): self
+ {
+ $this->inseeCode = $inseeCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets city.
+ *
+ * @return string|null
+ */
+ public function getCity(): ?string
+ {
+ return $this->city;
+ }
+
+ /**
+ * Sets city.
+ *
+ * @param string|null $city Nom officiel de la commune actuelle
+ *
+ * @return $this
+ */
+ public function setCity(?string $city): self
+ {
+ $this->city = $city;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Event.php b/generator_php-symfony/package/src/Model/rpis/Event.php
new file mode 100644
index 0000000000..e54b3d6aed
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Event.php
@@ -0,0 +1,333 @@
+orgId = array_key_exists('orgId', $data) ? $data['orgId'] : $this->orgId;
+ $this->senderCaseId = array_key_exists('senderCaseId', $data) ? $data['senderCaseId'] : $this->senderCaseId;
+ $this->creationDate = array_key_exists('creationDate', $data) ? $data['creationDate'] : $this->creationDate;
+ $this->decisionDate = array_key_exists('decisionDate', $data) ? $data['decisionDate'] : $this->decisionDate;
+ $this->ressourceFinessLegal = array_key_exists('ressourceFinessLegal', $data) ? $data['ressourceFinessLegal'] : $this->ressourceFinessLegal;
+ $this->ressourceFinessGeo = array_key_exists('ressourceFinessGeo', $data) ? $data['ressourceFinessGeo'] : $this->ressourceFinessGeo;
+ $this->ressourceStructure = array_key_exists('ressourceStructure', $data) ? $data['ressourceStructure'] : $this->ressourceStructure;
+ }
+ }
+
+ /**
+ * Gets orgId.
+ *
+ * @return string|null
+ */
+ public function getOrgId(): ?string
+ {
+ return $this->orgId;
+ }
+
+ /**
+ * Sets orgId.
+ *
+ * @param string|null $orgId Numéro du SAMU régulant la mission SMUR. A valoriser par fr.health.samuXXX : {pays}.{domaine}.{organisation}
+ *
+ * @return $this
+ */
+ public function setOrgId(?string $orgId): self
+ {
+ $this->orgId = $orgId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets senderCaseId.
+ *
+ * @return string|null
+ */
+ public function getSenderCaseId(): ?string
+ {
+ return $this->senderCaseId;
+ }
+
+ /**
+ * Sets senderCaseId.
+ *
+ * @param string|null $senderCaseId NumĂ©ro du dossier SAMU Ă lâorigine de la mission SMUR A valoriser par DRFR15DDXAAJJJ00000 : - DR = dĂ©signation d'un dossier sous forme abrĂ©gĂ©e, - FR : dĂ©signe le pays (FR = France), - 15 : dĂ©signe le fait que le dossier a Ă©tĂ© pris en charge par un SAMU / SAS, - DD : dĂ©signe le dĂ©partement oĂč est situĂ© le SAMU / SAS qui a traitĂ© le dossier, - X : lettre dĂ©signant le SAMU / SAS en cas de pluralitĂ© de SAMU / SAS sur le mĂȘme dĂ©partement ou le troisiĂšme chiffre des DOM, - AA : annĂ©e durant laquelle lâappel a Ă©tĂ© créé, - JJJ : dĂ©signe le jour de l'annĂ©e (de 1j Ă 365j),\\par - 00000 : numĂ©ro dâordre chronologique du dossier dans la journĂ©e de rĂ©fĂ©rence ci-dessus.
+ *
+ * @return $this
+ */
+ public function setSenderCaseId(?string $senderCaseId): self
+ {
+ $this->senderCaseId = $senderCaseId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets creationDate.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreationDate(): ?\DateTime
+ {
+ return $this->creationDate;
+ }
+
+ /**
+ * Sets creationDate.
+ *
+ * @param \DateTime|null $creationDate s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setCreationDate(?\DateTime $creationDate): self
+ {
+ $this->creationDate = $creationDate;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets decisionDate.
+ *
+ * @return \DateTime|null
+ */
+ public function getDecisionDate(): ?\DateTime
+ {
+ return $this->decisionDate;
+ }
+
+ /**
+ * Sets decisionDate.
+ *
+ * @param \DateTime|null $decisionDate s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setDecisionDate(?\DateTime $decisionDate): self
+ {
+ $this->decisionDate = $decisionDate;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets ressourceFinessLegal.
+ *
+ * @return string|null
+ */
+ public function getRessourceFinessLegal(): ?string
+ {
+ return $this->ressourceFinessLegal;
+ }
+
+ /**
+ * Sets ressourceFinessLegal.
+ *
+ * @param string|null $ressourceFinessLegal FINESS juridique établissement rattachement SMUR
+ *
+ * @return $this
+ */
+ public function setRessourceFinessLegal(?string $ressourceFinessLegal): self
+ {
+ $this->ressourceFinessLegal = $ressourceFinessLegal;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets ressourceFinessGeo.
+ *
+ * @return string|null
+ */
+ public function getRessourceFinessGeo(): ?string
+ {
+ return $this->ressourceFinessGeo;
+ }
+
+ /**
+ * Sets ressourceFinessGeo.
+ *
+ * @param string|null $ressourceFinessGeo FINESS géographique établissement rattachement SMUR ou antenne SMUR
+ *
+ * @return $this
+ */
+ public function setRessourceFinessGeo(?string $ressourceFinessGeo): self
+ {
+ $this->ressourceFinessGeo = $ressourceFinessGeo;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets ressourceStructure.
+ *
+ * @return string|null
+ */
+ public function getRessourceStructure(): ?string
+ {
+ return $this->ressourceStructure;
+ }
+
+ /**
+ * Sets ressourceStructure.
+ *
+ * @param string|null $ressourceStructure 9 = Antenne SMUR, 0 = SMUR général, 1 = SMUR pédiatrique, 2 = SMUR neonatal
+ *
+ * @return $this
+ */
+ public function setRessourceStructure(?string $ressourceStructure): self
+ {
+ $this->ressourceStructure = $ressourceStructure;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/HealthMotive.php b/generator_php-symfony/package/src/Model/rpis/HealthMotive.php
new file mode 100644
index 0000000000..0ab59af333
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/HealthMotive.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Intervention.php b/generator_php-symfony/package/src/Model/rpis/Intervention.php
new file mode 100644
index 0000000000..42dca3a8ba
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Intervention.php
@@ -0,0 +1,284 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $procedure = null;
+
+ /**
+ * Thésaurus SFMU-FEDORU. A valoriser par un code de la nomenclature Diagnostic SMUR(à venir).
+ *
+ * @var string|null
+ * @SerializedName("mainDiagnosis")
+ * @Type("string")
+ */
+ #[Assert\NotNull]
+ #[Assert\Type("string")]
+ protected ?string $mainDiagnosis = null;
+
+ /**
+ * Thésaurus SFMU-FEDORU. A valoriser par un code de la nomenclature Diagnostic SMUR (à venir).
+ *
+ * @var string|null
+ * @SerializedName("associatedDiagnosis")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ protected ?string $associatedDiagnosis = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->location = array_key_exists('location', $data) ? $data['location'] : $this->location;
+ $this->team = array_key_exists('team', $data) ? $data['team'] : $this->team;
+ $this->smurStatus = array_key_exists('smurStatus', $data) ? $data['smurStatus'] : $this->smurStatus;
+ $this->procedure = array_key_exists('procedure', $data) ? $data['procedure'] : $this->procedure;
+ $this->mainDiagnosis = array_key_exists('mainDiagnosis', $data) ? $data['mainDiagnosis'] : $this->mainDiagnosis;
+ $this->associatedDiagnosis = array_key_exists('associatedDiagnosis', $data) ? $data['associatedDiagnosis'] : $this->associatedDiagnosis;
+ }
+ }
+
+ /**
+ * Gets location.
+ *
+ * @return Location|null
+ */
+ public function getLocation(): ?Location
+ {
+ return $this->location;
+ }
+
+ /**
+ * Sets location.
+ *
+ * @param Location|null $location
+ *
+ * @return $this
+ */
+ public function setLocation(?Location $location): self
+ {
+ $this->location = $location;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets team.
+ *
+ * @return Team|null
+ */
+ public function getTeam(): ?Team
+ {
+ return $this->team;
+ }
+
+ /**
+ * Sets team.
+ *
+ * @param Team|null $team
+ *
+ * @return $this
+ */
+ public function setTeam(?Team $team): self
+ {
+ $this->team = $team;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets smurStatus.
+ *
+ * @return ResourceStatus|null
+ */
+ public function getSmurStatus(): ?ResourceStatus
+ {
+ return $this->smurStatus;
+ }
+
+ /**
+ * Sets smurStatus.
+ *
+ * @param ResourceStatus|null $smurStatus
+ *
+ * @return $this
+ */
+ public function setSmurStatus(?ResourceStatus $smurStatus = null): self
+ {
+ $this->smurStatus = $smurStatus;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets procedure.
+ *
+ * @return string[]|null
+ */
+ public function getProcedure(): ?array
+ {
+ return $this->procedure;
+ }
+
+ /**
+ * Sets procedure.
+ *
+ * @param string[]|null $procedure
+ *
+ * @return $this
+ */
+ public function setProcedure(?array $procedure = null): self
+ {
+ $this->procedure = $procedure;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets mainDiagnosis.
+ *
+ * @return string|null
+ */
+ public function getMainDiagnosis(): ?string
+ {
+ return $this->mainDiagnosis;
+ }
+
+ /**
+ * Sets mainDiagnosis.
+ *
+ * @param string|null $mainDiagnosis Thésaurus SFMU-FEDORU. A valoriser par un code de la nomenclature Diagnostic SMUR(à venir).
+ *
+ * @return $this
+ */
+ public function setMainDiagnosis(?string $mainDiagnosis): self
+ {
+ $this->mainDiagnosis = $mainDiagnosis;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets associatedDiagnosis.
+ *
+ * @return string|null
+ */
+ public function getAssociatedDiagnosis(): ?string
+ {
+ return $this->associatedDiagnosis;
+ }
+
+ /**
+ * Sets associatedDiagnosis.
+ *
+ * @param string|null $associatedDiagnosis Thésaurus SFMU-FEDORU. A valoriser par un code de la nomenclature Diagnostic SMUR (à venir).
+ *
+ * @return $this
+ */
+ public function setAssociatedDiagnosis(?string $associatedDiagnosis = null): self
+ {
+ $this->associatedDiagnosis = $associatedDiagnosis;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Location.php b/generator_php-symfony/package/src/Model/rpis/Location.php
new file mode 100644
index 0000000000..d8d90d8c34
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Location.php
@@ -0,0 +1,210 @@
+type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->finessGeo = array_key_exists('finessGeo', $data) ? $data['finessGeo'] : $this->finessGeo;
+ $this->service = array_key_exists('service', $data) ? $data['service'] : $this->service;
+ $this->detailedAddress = array_key_exists('detailedAddress', $data) ? $data['detailedAddress'] : $this->detailedAddress;
+ }
+ }
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type A valoriser avec un code de la nomenclature CISU-Code_Type_de_lieu.
+ *
+ * @return $this
+ */
+ public function setType(?string $type = null): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets finessGeo.
+ *
+ * @return string|null
+ */
+ public function getFinessGeo(): ?string
+ {
+ return $this->finessGeo;
+ }
+
+ /**
+ * Sets finessGeo.
+ *
+ * @param string|null $finessGeo Finess gĂ©ographique et juridique de lâĂ©tablissement de santĂ©. A renseigner uniquement si l'intervention a lieu dans un Ă©tablissement de santĂ©.
+ *
+ * @return $this
+ */
+ public function setFinessGeo(?string $finessGeo = null): self
+ {
+ $this->finessGeo = $finessGeo;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets service.
+ *
+ * @return string|null
+ */
+ public function getService(): ?string
+ {
+ return $this->service;
+ }
+
+ /**
+ * Sets service.
+ *
+ * @param string|null $service Unité fonctionnelle de l'établissement de santé. A renseigner uniquement si l'intervention a lieu dans un établissement de santé.
+ *
+ * @return $this
+ */
+ public function setService(?string $service = null): self
+ {
+ $this->service = $service;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets detailedAddress.
+ *
+ * @return DetailedAddress|null
+ */
+ public function getDetailedAddress(): ?DetailedAddress
+ {
+ return $this->detailedAddress;
+ }
+
+ /**
+ * Sets detailedAddress.
+ *
+ * @param DetailedAddress|null $detailedAddress
+ *
+ * @return $this
+ */
+ public function setDetailedAddress(?DetailedAddress $detailedAddress): self
+ {
+ $this->detailedAddress = $detailedAddress;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Orientation.php b/generator_php-symfony/package/src/Model/rpis/Orientation.php
new file mode 100644
index 0000000000..debdf4fa88
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Orientation.php
@@ -0,0 +1,168 @@
+type = array_key_exists('type', $data) ? $data['type'] : $this->type;
+ $this->destination = array_key_exists('destination', $data) ? $data['destination'] : $this->destination;
+ $this->decision = array_key_exists('decision', $data) ? $data['decision'] : $this->decision;
+ }
+ }
+
+ /**
+ * Gets type.
+ *
+ * @return string|null
+ */
+ public function getType(): ?string
+ {
+ return $this->type;
+ }
+
+ /**
+ * Sets type.
+ *
+ * @param string|null $type Indique si le patient est transporté ou non (Sans transport associé / avec transport associé). A valoriser par un code de la nomenclature SI SAMU-NOMENC_DEVENIR_PAT. Si le type d'orientation est sans transport associé, les objets Destination et Transport sont facultatifs.
+ *
+ * @return $this
+ */
+ public function setType(?string $type): self
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets destination.
+ *
+ * @return Destination|null
+ */
+ public function getDestination(): ?Destination
+ {
+ return $this->destination;
+ }
+
+ /**
+ * Sets destination.
+ *
+ * @param Destination|null $destination
+ *
+ * @return $this
+ */
+ public function setDestination(?Destination $destination = null): self
+ {
+ $this->destination = $destination;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets decision.
+ *
+ * @return Decision|null
+ */
+ public function getDecision(): ?Decision
+ {
+ return $this->decision;
+ }
+
+ /**
+ * Sets decision.
+ *
+ * @param Decision|null $decision
+ *
+ * @return $this
+ */
+ public function setDecision(?Decision $decision = null): self
+ {
+ $this->decision = $decision;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Patient.php b/generator_php-symfony/package/src/Model/rpis/Patient.php
new file mode 100644
index 0000000000..c221cf3d10
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Patient.php
@@ -0,0 +1,211 @@
+patientId = array_key_exists('patientId', $data) ? $data['patientId'] : $this->patientId;
+ $this->birthDate = array_key_exists('birthDate', $data) ? $data['birthDate'] : $this->birthDate;
+ $this->sex = array_key_exists('sex', $data) ? $data['sex'] : $this->sex;
+ $this->residentialAddress = array_key_exists('residentialAddress', $data) ? $data['residentialAddress'] : $this->residentialAddress;
+ }
+ }
+
+ /**
+ * Gets patientId.
+ *
+ * @return string|null
+ */
+ public function getPatientId(): ?string
+ {
+ return $this->patientId;
+ }
+
+ /**
+ * Sets patientId.
+ *
+ * @param string|null $patientId Identifiant unique du patient. A valoriser par {ID du SAMU qui engage le SMUR}.{ID du DRM}.P{numĂ©ro dâordre chronologique} : fr.health.samu690.DRFR15DDXAAJJJ00001.P01
+ *
+ * @return $this
+ */
+ public function setPatientId(?string $patientId): self
+ {
+ $this->patientId = $patientId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets birthDate.
+ *
+ * @return string|null
+ */
+ public function getBirthDate(): ?string
+ {
+ return $this->birthDate;
+ }
+
+ /**
+ * Sets birthDate.
+ *
+ * @param string|null $birthDate Date de naissance du patient
+ *
+ * @return $this
+ */
+ public function setBirthDate(?string $birthDate): self
+ {
+ $this->birthDate = $birthDate;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets sex.
+ *
+ * @return string|null
+ */
+ public function getSex(): ?string
+ {
+ return $this->sex;
+ }
+
+ /**
+ * Sets sex.
+ *
+ * @param string|null $sex Sexe du patient, suivant le libellé court de la nomenclature NOS-NOMENC_SEXE
+ *
+ * @return $this
+ */
+ public function setSex(?string $sex): self
+ {
+ $this->sex = $sex;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets residentialAddress.
+ *
+ * @return ResidentialAddress|null
+ */
+ public function getResidentialAddress(): ?ResidentialAddress
+ {
+ return $this->residentialAddress;
+ }
+
+ /**
+ * Sets residentialAddress.
+ *
+ * @param ResidentialAddress|null $residentialAddress
+ *
+ * @return $this
+ */
+ public function setResidentialAddress(?ResidentialAddress $residentialAddress = null): self
+ {
+ $this->residentialAddress = $residentialAddress;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Regulation.php b/generator_php-symfony/package/src/Model/rpis/Regulation.php
new file mode 100644
index 0000000000..5fc1a9ea0e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Regulation.php
@@ -0,0 +1,173 @@
+whatsHappen = array_key_exists('whatsHappen', $data) ? $data['whatsHappen'] : $this->whatsHappen;
+ $this->healthMotive = array_key_exists('healthMotive', $data) ? $data['healthMotive'] : $this->healthMotive;
+ $this->medicalLevel = array_key_exists('medicalLevel', $data) ? $data['medicalLevel'] : $this->medicalLevel;
+ }
+ }
+
+ /**
+ * Gets whatsHappen.
+ *
+ * @return WhatsHappen|null
+ */
+ public function getWhatsHappen(): ?WhatsHappen
+ {
+ return $this->whatsHappen;
+ }
+
+ /**
+ * Sets whatsHappen.
+ *
+ * @param WhatsHappen|null $whatsHappen
+ *
+ * @return $this
+ */
+ public function setWhatsHappen(?WhatsHappen $whatsHappen): self
+ {
+ $this->whatsHappen = $whatsHappen;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets healthMotive.
+ *
+ * @return HealthMotive|null
+ */
+ public function getHealthMotive(): ?HealthMotive
+ {
+ return $this->healthMotive;
+ }
+
+ /**
+ * Sets healthMotive.
+ *
+ * @param HealthMotive|null $healthMotive
+ *
+ * @return $this
+ */
+ public function setHealthMotive(?HealthMotive $healthMotive): self
+ {
+ $this->healthMotive = $healthMotive;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets medicalLevel.
+ *
+ * @return string|null
+ */
+ public function getMedicalLevel(): ?string
+ {
+ return $this->medicalLevel;
+ }
+
+ /**
+ * Sets medicalLevel.
+ *
+ * @param string|null $medicalLevel Type dâĂ©quipe (mĂ©dical, paramĂ©dicale, secouriste). A valoriser par un code de la nomenclature SI-SAMU-NIVSOIN. Permet de dĂ©duire avec la donnĂ©e \"niveau de mĂ©dicalisation du transport\", si un UMHP est devenu un SMUR.
+ *
+ * @return $this
+ */
+ public function setMedicalLevel(?string $medicalLevel): self
+ {
+ $this->medicalLevel = $medicalLevel;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/ResidentialAddress.php b/generator_php-symfony/package/src/Model/rpis/ResidentialAddress.php
new file mode 100644
index 0000000000..3bdf196a80
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/ResidentialAddress.php
@@ -0,0 +1,136 @@
+inseeCode = array_key_exists('inseeCode', $data) ? $data['inseeCode'] : $this->inseeCode;
+ $this->city = array_key_exists('city', $data) ? $data['city'] : $this->city;
+ }
+ }
+
+ /**
+ * Gets inseeCode.
+ *
+ * @return string|null
+ */
+ public function getInseeCode(): ?string
+ {
+ return $this->inseeCode;
+ }
+
+ /**
+ * Sets inseeCode.
+ *
+ * @param string|null $inseeCode Code INSEE de la commune actuelle sur la base du Code Officiel géographique en vigueur. Obligatoire si le nom de la commune est renseigné. Le Code INSEE peut également précisé le pays de résidence, si étranger.
+ *
+ * @return $this
+ */
+ public function setInseeCode(?string $inseeCode): self
+ {
+ $this->inseeCode = $inseeCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets city.
+ *
+ * @return string|null
+ */
+ public function getCity(): ?string
+ {
+ return $this->city;
+ }
+
+ /**
+ * Sets city.
+ *
+ * @param string|null $city Nom officiel de la commune actuelle
+ *
+ * @return $this
+ */
+ public function setCity(?string $city): self
+ {
+ $this->city = $city;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/ResourceStatus.php b/generator_php-symfony/package/src/Model/rpis/ResourceStatus.php
new file mode 100644
index 0000000000..57a65b67ac
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/ResourceStatus.php
@@ -0,0 +1,294 @@
+departSmur = array_key_exists('departSmur', $data) ? $data['departSmur'] : $this->departSmur;
+ $this->arrivedSmur = array_key_exists('arrivedSmur', $data) ? $data['arrivedSmur'] : $this->arrivedSmur;
+ $this->departLocation = array_key_exists('departLocation', $data) ? $data['departLocation'] : $this->departLocation;
+ $this->arrivedDestination = array_key_exists('arrivedDestination', $data) ? $data['arrivedDestination'] : $this->arrivedDestination;
+ $this->teamAvailable = array_key_exists('teamAvailable', $data) ? $data['teamAvailable'] : $this->teamAvailable;
+ $this->returnSmur = array_key_exists('returnSmur', $data) ? $data['returnSmur'] : $this->returnSmur;
+ }
+ }
+
+ /**
+ * Gets departSmur.
+ *
+ * @return \DateTime|null
+ */
+ public function getDepartSmur(): ?\DateTime
+ {
+ return $this->departSmur;
+ }
+
+ /**
+ * Sets departSmur.
+ *
+ * @param \DateTime|null $departSmur Date et heure Ă laquelle le SMUR quitte sa base. s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setDepartSmur(?\DateTime $departSmur): self
+ {
+ $this->departSmur = $departSmur;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets arrivedSmur.
+ *
+ * @return \DateTime|null
+ */
+ public function getArrivedSmur(): ?\DateTime
+ {
+ return $this->arrivedSmur;
+ }
+
+ /**
+ * Sets arrivedSmur.
+ *
+ * @param \DateTime|null $arrivedSmur Date et heure Ă laquelle le SMUR arrive sur les lieux de l'intervention. s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setArrivedSmur(?\DateTime $arrivedSmur = null): self
+ {
+ $this->arrivedSmur = $arrivedSmur;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets departLocation.
+ *
+ * @return \DateTime|null
+ */
+ public function getDepartLocation(): ?\DateTime
+ {
+ return $this->departLocation;
+ }
+
+ /**
+ * Sets departLocation.
+ *
+ * @param \DateTime|null $departLocation Date et heure Ă laquelle le SMUR quitte les lieux de l'intervention. s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setDepartLocation(?\DateTime $departLocation = null): self
+ {
+ $this->departLocation = $departLocation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets arrivedDestination.
+ *
+ * @return \DateTime|null
+ */
+ public function getArrivedDestination(): ?\DateTime
+ {
+ return $this->arrivedDestination;
+ }
+
+ /**
+ * Sets arrivedDestination.
+ *
+ * @param \DateTime|null $arrivedDestination Date et heure Ă laquelle le SMUR qui transporte arrive Ă destination. s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setArrivedDestination(?\DateTime $arrivedDestination = null): self
+ {
+ $this->arrivedDestination = $arrivedDestination;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets teamAvailable.
+ *
+ * @return \DateTime|null
+ */
+ public function getTeamAvailable(): ?\DateTime
+ {
+ return $this->teamAvailable;
+ }
+
+ /**
+ * Sets teamAvailable.
+ *
+ * @param \DateTime|null $teamAvailable Date et heure à laquelle le SMUR est disponible (dispose de tout les équipements pour faire une autre intervention). s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setTeamAvailable(?\DateTime $teamAvailable): self
+ {
+ $this->teamAvailable = $teamAvailable;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets returnSmur.
+ *
+ * @return \DateTime|null
+ */
+ public function getReturnSmur(): ?\DateTime
+ {
+ return $this->returnSmur;
+ }
+
+ /**
+ * Sets returnSmur.
+ *
+ * @param \DateTime|null $returnSmur Date et heure Ă laquelle le SMUR est de retour Ă la base. s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss
+ *
+ * @return $this
+ */
+ public function setReturnSmur(?\DateTime $returnSmur): self
+ {
+ $this->returnSmur = $returnSmur;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Rpis.php b/generator_php-symfony/package/src/Model/rpis/Rpis.php
new file mode 100644
index 0000000000..462d8a25ca
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Rpis.php
@@ -0,0 +1,247 @@
+context = array_key_exists('context', $data) ? $data['context'] : $this->context;
+ $this->regulation = array_key_exists('regulation', $data) ? $data['regulation'] : $this->regulation;
+ $this->patient = array_key_exists('patient', $data) ? $data['patient'] : $this->patient;
+ $this->intervention = array_key_exists('intervention', $data) ? $data['intervention'] : $this->intervention;
+ $this->orientation = array_key_exists('orientation', $data) ? $data['orientation'] : $this->orientation;
+ }
+ }
+
+ /**
+ * Gets context.
+ *
+ * @return Event|null
+ */
+ public function getContext(): ?Event
+ {
+ return $this->context;
+ }
+
+ /**
+ * Sets context.
+ *
+ * @param Event|null $context
+ *
+ * @return $this
+ */
+ public function setContext(?Event $context): self
+ {
+ $this->context = $context;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets regulation.
+ *
+ * @return Regulation|null
+ */
+ public function getRegulation(): ?Regulation
+ {
+ return $this->regulation;
+ }
+
+ /**
+ * Sets regulation.
+ *
+ * @param Regulation|null $regulation
+ *
+ * @return $this
+ */
+ public function setRegulation(?Regulation $regulation): self
+ {
+ $this->regulation = $regulation;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets patient.
+ *
+ * @return Patient|null
+ */
+ public function getPatient(): ?Patient
+ {
+ return $this->patient;
+ }
+
+ /**
+ * Sets patient.
+ *
+ * @param Patient|null $patient
+ *
+ * @return $this
+ */
+ public function setPatient(?Patient $patient): self
+ {
+ $this->patient = $patient;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets intervention.
+ *
+ * @return Intervention|null
+ */
+ public function getIntervention(): ?Intervention
+ {
+ return $this->intervention;
+ }
+
+ /**
+ * Sets intervention.
+ *
+ * @param Intervention|null $intervention
+ *
+ * @return $this
+ */
+ public function setIntervention(?Intervention $intervention): self
+ {
+ $this->intervention = $intervention;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets orientation.
+ *
+ * @return Orientation|null
+ */
+ public function getOrientation(): ?Orientation
+ {
+ return $this->orientation;
+ }
+
+ /**
+ * Sets orientation.
+ *
+ * @param Orientation|null $orientation
+ *
+ * @return $this
+ */
+ public function setOrientation(?Orientation $orientation): self
+ {
+ $this->orientation = $orientation;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/RpisWrapper.php b/generator_php-symfony/package/src/Model/rpis/RpisWrapper.php
new file mode 100644
index 0000000000..6474bc44de
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/RpisWrapper.php
@@ -0,0 +1,95 @@
+rpis = array_key_exists('rpis', $data) ? $data['rpis'] : $this->rpis;
+ }
+ }
+
+ /**
+ * Gets rpis.
+ *
+ * @return Rpis|null
+ */
+ public function getRpis(): ?Rpis
+ {
+ return $this->rpis;
+ }
+
+ /**
+ * Sets rpis.
+ *
+ * @param Rpis|null $rpis
+ *
+ * @return $this
+ */
+ public function setRpis(?Rpis $rpis): self
+ {
+ $this->rpis = $rpis;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/Team.php b/generator_php-symfony/package/src/Model/rpis/Team.php
new file mode 100644
index 0000000000..de7d61360e
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/Team.php
@@ -0,0 +1,174 @@
+doctor = array_key_exists('doctor', $data) ? $data['doctor'] : $this->doctor;
+ $this->nurse = array_key_exists('nurse', $data) ? $data['nurse'] : $this->nurse;
+ $this->driver = array_key_exists('driver', $data) ? $data['driver'] : $this->driver;
+ }
+ }
+
+ /**
+ * Gets doctor.
+ *
+ * @return bool|null
+ */
+ public function isDoctor(): ?bool
+ {
+ return $this->doctor;
+ }
+
+ /**
+ * Sets doctor.
+ *
+ * @param bool|null $doctor Permet d'identifier si un mĂ©decin compose l'Ă©quipe. Cette donnĂ©e peut ĂȘtre automatiquement dĂ©duite, dĂšs que le nom et prĂ©nom du mĂ©decin est saisi sur la tablette.
+ *
+ * @return $this
+ */
+ public function setDoctor(?bool $doctor): self
+ {
+ $this->doctor = $doctor;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nurse.
+ *
+ * @return bool|null
+ */
+ public function isNurse(): ?bool
+ {
+ return $this->nurse;
+ }
+
+ /**
+ * Sets nurse.
+ *
+ * @param bool|null $nurse Permet d'identifier si un infirmier compose l'Ă©quipe. Cette donnĂ©e peut ĂȘtre automatiquement dĂ©duite, dĂšs que le nom et prĂ©nom de l'infirmier est saisi sur la tablette.
+ *
+ * @return $this
+ */
+ public function setNurse(?bool $nurse): self
+ {
+ $this->nurse = $nurse;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets driver.
+ *
+ * @return bool|null
+ */
+ public function isDriver(): ?bool
+ {
+ return $this->driver;
+ }
+
+ /**
+ * Sets driver.
+ *
+ * @param bool|null $driver Permet d'identifier si un ambulancier compose l'Ă©quipe. Cette donnĂ©e peut ĂȘtre automatiquement dĂ©duite, dĂšs que le nom et prĂ©nom de l'ambulancier est saisi sur la tablette.
+ *
+ * @return $this
+ */
+ public function setDriver(?bool $driver): self
+ {
+ $this->driver = $driver;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/rpis/WhatsHappen.php b/generator_php-symfony/package/src/Model/rpis/WhatsHappen.php
new file mode 100644
index 0000000000..b5721b39fc
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/rpis/WhatsHappen.php
@@ -0,0 +1,136 @@
+code = array_key_exists('code', $data) ? $data['code'] : $this->code;
+ $this->label = array_key_exists('label', $data) ? $data['label'] : $this->label;
+ }
+ }
+
+ /**
+ * Gets code.
+ *
+ * @return string|null
+ */
+ public function getCode(): ?string
+ {
+ return $this->code;
+ }
+
+ /**
+ * Sets code.
+ *
+ * @param string|null $code A valoriser avec le code de la nomenclature associée.
+ *
+ * @return $this
+ */
+ public function setCode(?string $code): self
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets label.
+ *
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * Sets label.
+ *
+ * @param string|null $label A valoriser avec le libellĂ© de la nomenclature associĂ©e. Dans le cas oĂč un systĂšme n'est pas en mesure de reconnaĂźtre un code, il peut choisir d'afficher le libellĂ© qui est obligatoirement fourni avec le code.
+ *
+ * @return $this
+ */
+ public function setLabel(?string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/sas/Appointment.php b/generator_php-symfony/package/src/Model/sas/Appointment.php
new file mode 100644
index 0000000000..78b266a852
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/sas/Appointment.php
@@ -0,0 +1,444 @@
+appointmentId = array_key_exists('appointmentId', $data) ? $data['appointmentId'] : $this->appointmentId;
+ $this->method = array_key_exists('method', $data) ? $data['method'] : $this->method;
+ $this->created = array_key_exists('created', $data) ? $data['created'] : $this->created;
+ $this->start = array_key_exists('start', $data) ? $data['start'] : $this->start;
+ $this->end = array_key_exists('end', $data) ? $data['end'] : $this->end;
+ $this->status = array_key_exists('status', $data) ? $data['status'] : $this->status;
+ $this->orientationCategory = array_key_exists('orientationCategory', $data) ? $data['orientationCategory'] : $this->orientationCategory;
+ $this->practitioner = array_key_exists('practitioner', $data) ? $data['practitioner'] : $this->practitioner;
+ $this->organization = array_key_exists('organization', $data) ? $data['organization'] : $this->organization;
+ $this->regulator = array_key_exists('regulator', $data) ? $data['regulator'] : $this->regulator;
+ }
+ }
+
+ /**
+ * Gets appointmentId.
+ *
+ * @return string|null
+ */
+ public function getAppointmentId(): ?string
+ {
+ return $this->appointmentId;
+ }
+
+ /**
+ * Sets appointmentId.
+ *
+ * @param string|null $appointmentId Un identifiant technique unique par RDV est transmis. Cet identifiant est dĂ©fini par la plateforme numĂ©rique SAS et peut prendre la forme dâun UUID par exemple. La solution Ă©diteur devra sâappuyer sur cet ID pour la gestion des requĂȘtes de mises Ă jour.
+ *
+ * @return $this
+ */
+ public function setAppointmentId(?string $appointmentId): self
+ {
+ $this->appointmentId = $appointmentId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets method.
+ *
+ * @return string|null
+ */
+ public function getMethod(): ?string
+ {
+ return $this->method;
+ }
+
+ /**
+ * Sets method.
+ *
+ * @param string|null $method Indique un message de création ou de modification du rendez-vous
+ *
+ * @return $this
+ */
+ public function setMethod(?string $method): self
+ {
+ $this->method = $method;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets created.
+ *
+ * @return \DateTime|null
+ */
+ public function getCreated(): ?\DateTime
+ {
+ return $this->created;
+ }
+
+ /**
+ * Sets created.
+ *
+ * @param \DateTime|null $created Indique la date et lâheure de la prise de RDV
+ *
+ * @return $this
+ */
+ public function setCreated(?\DateTime $created): self
+ {
+ $this->created = $created;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets start.
+ *
+ * @return \DateTime|null
+ */
+ public function getStart(): ?\DateTime
+ {
+ return $this->start;
+ }
+
+ /**
+ * Sets start.
+ *
+ * @param \DateTime|null $start Indique la date et lâhoraire de dĂ©but du rendez-vous
+ *
+ * @return $this
+ */
+ public function setStart(?\DateTime $start): self
+ {
+ $this->start = $start;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets end.
+ *
+ * @return \DateTime|null
+ */
+ public function getEnd(): ?\DateTime
+ {
+ return $this->end;
+ }
+
+ /**
+ * Sets end.
+ *
+ * @param \DateTime|null $end Indique la date et lâhoraire de fin du rendez-vous
+ *
+ * @return $this
+ */
+ public function setEnd(?\DateTime $end = null): self
+ {
+ $this->end = $end;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets status.
+ *
+ * @return string|null
+ */
+ public function getStatus(): ?string
+ {
+ return $this->status;
+ }
+
+ /**
+ * Sets status.
+ *
+ * @param string|null $status Indique le statut du rendez-vous
+ *
+ * @return $this
+ */
+ public function setStatus(?string $status): self
+ {
+ $this->status = $status;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets orientationCategory.
+ *
+ * @return string|null
+ */
+ public function getOrientationCategory(): ?string
+ {
+ return $this->orientationCategory;
+ }
+
+ /**
+ * Sets orientationCategory.
+ *
+ * @param string|null $orientationCategory Indique la catĂ©gorie de lâorientation de rendez-vous
+ *
+ * @return $this
+ */
+ public function setOrientationCategory(?string $orientationCategory = null): self
+ {
+ $this->orientationCategory = $orientationCategory;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets practitioner.
+ *
+ * @return Practitioner|null
+ */
+ public function getPractitioner(): ?Practitioner
+ {
+ return $this->practitioner;
+ }
+
+ /**
+ * Sets practitioner.
+ *
+ * @param Practitioner|null $practitioner
+ *
+ * @return $this
+ */
+ public function setPractitioner(?Practitioner $practitioner = null): self
+ {
+ $this->practitioner = $practitioner;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets organization.
+ *
+ * @return Organization|null
+ */
+ public function getOrganization(): ?Organization
+ {
+ return $this->organization;
+ }
+
+ /**
+ * Sets organization.
+ *
+ * @param Organization|null $organization
+ *
+ * @return $this
+ */
+ public function setOrganization(?Organization $organization = null): self
+ {
+ $this->organization = $organization;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets regulator.
+ *
+ * @return Regulator|null
+ */
+ public function getRegulator(): ?Regulator
+ {
+ return $this->regulator;
+ }
+
+ /**
+ * Sets regulator.
+ *
+ * @param Regulator|null $regulator
+ *
+ * @return $this
+ */
+ public function setRegulator(?Regulator $regulator): self
+ {
+ $this->regulator = $regulator;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/sas/AppointmentWrapper.php b/generator_php-symfony/package/src/Model/sas/AppointmentWrapper.php
new file mode 100644
index 0000000000..a83c480a31
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/sas/AppointmentWrapper.php
@@ -0,0 +1,95 @@
+appointment = array_key_exists('appointment', $data) ? $data['appointment'] : $this->appointment;
+ }
+ }
+
+ /**
+ * Gets appointment.
+ *
+ * @return Appointment|null
+ */
+ public function getAppointment(): ?Appointment
+ {
+ return $this->appointment;
+ }
+
+ /**
+ * Sets appointment.
+ *
+ * @param Appointment|null $appointment
+ *
+ * @return $this
+ */
+ public function setAppointment(?Appointment $appointment): self
+ {
+ $this->appointment = $appointment;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/sas/Organization.php b/generator_php-symfony/package/src/Model/sas/Organization.php
new file mode 100644
index 0000000000..db55b55bec
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/sas/Organization.php
@@ -0,0 +1,135 @@
+organizationId = array_key_exists('organizationId', $data) ? $data['organizationId'] : $this->organizationId;
+ $this->name = array_key_exists('name', $data) ? $data['name'] : $this->name;
+ }
+ }
+
+ /**
+ * Gets organizationId.
+ *
+ * @return string|null
+ */
+ public function getOrganizationId(): ?string
+ {
+ return $this->organizationId;
+ }
+
+ /**
+ * Sets organizationId.
+ *
+ * @param string|null $organizationId Indique l'identifiant national de la structure
+ *
+ * @return $this
+ */
+ public function setOrganizationId(?string $organizationId): self
+ {
+ $this->organizationId = $organizationId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets name.
+ *
+ * @return string|null
+ */
+ public function getName(): ?string
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets name.
+ *
+ * @param string|null $name Indique le nom de la structure
+ *
+ * @return $this
+ */
+ public function setName(?string $name): self
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/sas/Practitioner.php b/generator_php-symfony/package/src/Model/sas/Practitioner.php
new file mode 100644
index 0000000000..ca2bfbea06
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/sas/Practitioner.php
@@ -0,0 +1,327 @@
+rppsId = array_key_exists('rppsId', $data) ? $data['rppsId'] : $this->rppsId;
+ $this->lastName = array_key_exists('lastName', $data) ? $data['lastName'] : $this->lastName;
+ $this->firstName = array_key_exists('firstName', $data) ? $data['firstName'] : $this->firstName;
+ $this->specialityCode = array_key_exists('specialityCode', $data) ? $data['specialityCode'] : $this->specialityCode;
+ $this->specialityUrl = array_key_exists('specialityUrl', $data) ? $data['specialityUrl'] : $this->specialityUrl;
+ $this->professionCode = array_key_exists('professionCode', $data) ? $data['professionCode'] : $this->professionCode;
+ $this->professionUrl = array_key_exists('professionUrl', $data) ? $data['professionUrl'] : $this->professionUrl;
+ }
+ }
+
+ /**
+ * Gets rppsId.
+ *
+ * @return string|null
+ */
+ public function getRppsId(): ?string
+ {
+ return $this->rppsId;
+ }
+
+ /**
+ * Sets rppsId.
+ *
+ * @param string|null $rppsId Identifiant national (RPPS) du PS
+ *
+ * @return $this
+ */
+ public function setRppsId(?string $rppsId): self
+ {
+ $this->rppsId = $rppsId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets lastName.
+ *
+ * @return string|null
+ */
+ public function getLastName(): ?string
+ {
+ return $this->lastName;
+ }
+
+ /**
+ * Sets lastName.
+ *
+ * @param string|null $lastName Nom du professionnel de santé
+ *
+ * @return $this
+ */
+ public function setLastName(?string $lastName): self
+ {
+ $this->lastName = $lastName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets firstName.
+ *
+ * @return string|null
+ */
+ public function getFirstName(): ?string
+ {
+ return $this->firstName;
+ }
+
+ /**
+ * Sets firstName.
+ *
+ * @param string|null $firstName Prénom du professionnel de santé
+ *
+ * @return $this
+ */
+ public function setFirstName(?string $firstName): self
+ {
+ $this->firstName = $firstName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets specialityCode.
+ *
+ * @return string|null
+ */
+ public function getSpecialityCode(): ?string
+ {
+ return $this->specialityCode;
+ }
+
+ /**
+ * Sets specialityCode.
+ *
+ * @param string|null $specialityCode Code de la spécialité du professionnel de santé
+ *
+ * @return $this
+ */
+ public function setSpecialityCode(?string $specialityCode = null): self
+ {
+ $this->specialityCode = $specialityCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets specialityUrl.
+ *
+ * @return string|null
+ */
+ public function getSpecialityUrl(): ?string
+ {
+ return $this->specialityUrl;
+ }
+
+ /**
+ * Sets specialityUrl.
+ *
+ * @param string|null $specialityUrl Url de la terminologie utilisée pour la spécialité
+ *
+ * @return $this
+ */
+ public function setSpecialityUrl(?string $specialityUrl = null): self
+ {
+ $this->specialityUrl = $specialityUrl;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets professionCode.
+ *
+ * @return string|null
+ */
+ public function getProfessionCode(): ?string
+ {
+ return $this->professionCode;
+ }
+
+ /**
+ * Sets professionCode.
+ *
+ * @param string|null $professionCode Code de la profession du professionnel de santé
+ *
+ * @return $this
+ */
+ public function setProfessionCode(?string $professionCode = null): self
+ {
+ $this->professionCode = $professionCode;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets professionUrl.
+ *
+ * @return string|null
+ */
+ public function getProfessionUrl(): ?string
+ {
+ return $this->professionUrl;
+ }
+
+ /**
+ * Sets professionUrl.
+ *
+ * @param string|null $professionUrl Url de la terminologie utilisée pour la profession
+ *
+ * @return $this
+ */
+ public function setProfessionUrl(?string $professionUrl = null): self
+ {
+ $this->professionUrl = $professionUrl;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/sas/Regulator.php b/generator_php-symfony/package/src/Model/sas/Regulator.php
new file mode 100644
index 0000000000..d6fd9ce308
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/sas/Regulator.php
@@ -0,0 +1,212 @@
+regulatorId = array_key_exists('regulatorId', $data) ? $data['regulatorId'] : $this->regulatorId;
+ $this->regulatorName = array_key_exists('regulatorName', $data) ? $data['regulatorName'] : $this->regulatorName;
+ $this->regulatorFirstname = array_key_exists('regulatorFirstname', $data) ? $data['regulatorFirstname'] : $this->regulatorFirstname;
+ $this->regulatorEmail = array_key_exists('regulatorEmail', $data) ? $data['regulatorEmail'] : $this->regulatorEmail;
+ }
+ }
+
+ /**
+ * Gets regulatorId.
+ *
+ * @return string|null
+ */
+ public function getRegulatorId(): ?string
+ {
+ return $this->regulatorId;
+ }
+
+ /**
+ * Sets regulatorId.
+ *
+ * @param string|null $regulatorId Identifiant du régulateur ayant pris le RDV
+ *
+ * @return $this
+ */
+ public function setRegulatorId(?string $regulatorId = null): self
+ {
+ $this->regulatorId = $regulatorId;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets regulatorName.
+ *
+ * @return string|null
+ */
+ public function getRegulatorName(): ?string
+ {
+ return $this->regulatorName;
+ }
+
+ /**
+ * Sets regulatorName.
+ *
+ * @param string|null $regulatorName Nom du régulateur ayant pris le RDV
+ *
+ * @return $this
+ */
+ public function setRegulatorName(?string $regulatorName): self
+ {
+ $this->regulatorName = $regulatorName;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets regulatorFirstname.
+ *
+ * @return string|null
+ */
+ public function getRegulatorFirstname(): ?string
+ {
+ return $this->regulatorFirstname;
+ }
+
+ /**
+ * Sets regulatorFirstname.
+ *
+ * @param string|null $regulatorFirstname Prénom du régulateur ayant pris le RDV
+ *
+ * @return $this
+ */
+ public function setRegulatorFirstname(?string $regulatorFirstname): self
+ {
+ $this->regulatorFirstname = $regulatorFirstname;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets regulatorEmail.
+ *
+ * @return string|null
+ */
+ public function getRegulatorEmail(): ?string
+ {
+ return $this->regulatorEmail;
+ }
+
+ /**
+ * Sets regulatorEmail.
+ *
+ * @param string|null $regulatorEmail Adresse mail du régulateur ayant pris le RDV
+ *
+ * @return $this
+ */
+ public function setRegulatorEmail(?string $regulatorEmail): self
+ {
+ $this->regulatorEmail = $regulatorEmail;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/LevelOneData.php b/generator_php-symfony/package/src/Model/technical/LevelOneData.php
new file mode 100644
index 0000000000..9c6c18b91b
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/LevelOneData.php
@@ -0,0 +1,167 @@
+object1Level2 = array_key_exists('object1Level2', $data) ? $data['object1Level2'] : $this->object1Level2;
+ $this->stringLevel2 = array_key_exists('stringLevel2', $data) ? $data['stringLevel2'] : $this->stringLevel2;
+ $this->object2Level2 = array_key_exists('object2Level2', $data) ? $data['object2Level2'] : $this->object2Level2;
+ }
+ }
+
+ /**
+ * Gets object1Level2.
+ *
+ * @return LevelTwoData|null
+ */
+ public function getObject1Level2(): ?LevelTwoData
+ {
+ return $this->object1Level2;
+ }
+
+ /**
+ * Sets object1Level2.
+ *
+ * @param LevelTwoData|null $object1Level2
+ *
+ * @return $this
+ */
+ public function setObject1Level2(?LevelTwoData $object1Level2 = null): self
+ {
+ $this->object1Level2 = $object1Level2;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets stringLevel2.
+ *
+ * @return string|null
+ */
+ public function getStringLevel2(): ?string
+ {
+ return $this->stringLevel2;
+ }
+
+ /**
+ * Sets stringLevel2.
+ *
+ * @param string|null $stringLevel2 String field at level 2
+ *
+ * @return $this
+ */
+ public function setStringLevel2(?string $stringLevel2 = null): self
+ {
+ $this->stringLevel2 = $stringLevel2;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets object2Level2.
+ *
+ * @return SecondLevelTwoData|null
+ */
+ public function getObject2Level2(): ?SecondLevelTwoData
+ {
+ return $this->object2Level2;
+ }
+
+ /**
+ * Sets object2Level2.
+ *
+ * @param SecondLevelTwoData|null $object2Level2
+ *
+ * @return $this
+ */
+ public function setObject2Level2(?SecondLevelTwoData $object2Level2 = null): self
+ {
+ $this->object2Level2 = $object2Level2;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/LevelThreeData.php b/generator_php-symfony/package/src/Model/technical/LevelThreeData.php
new file mode 100644
index 0000000000..03439fc4d2
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/LevelThreeData.php
@@ -0,0 +1,95 @@
+stringLevel4 = array_key_exists('stringLevel4', $data) ? $data['stringLevel4'] : $this->stringLevel4;
+ }
+ }
+
+ /**
+ * Gets stringLevel4.
+ *
+ * @return string|null
+ */
+ public function getStringLevel4(): ?string
+ {
+ return $this->stringLevel4;
+ }
+
+ /**
+ * Sets stringLevel4.
+ *
+ * @param string|null $stringLevel4 String field at level 4
+ *
+ * @return $this
+ */
+ public function setStringLevel4(?string $stringLevel4 = null): self
+ {
+ $this->stringLevel4 = $stringLevel4;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/LevelTwoData.php b/generator_php-symfony/package/src/Model/technical/LevelTwoData.php
new file mode 100644
index 0000000000..5de615108c
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/LevelTwoData.php
@@ -0,0 +1,131 @@
+object1Level3 = array_key_exists('object1Level3', $data) ? $data['object1Level3'] : $this->object1Level3;
+ $this->stringLevel3 = array_key_exists('stringLevel3', $data) ? $data['stringLevel3'] : $this->stringLevel3;
+ }
+ }
+
+ /**
+ * Gets object1Level3.
+ *
+ * @return LevelThreeData|null
+ */
+ public function getObject1Level3(): ?LevelThreeData
+ {
+ return $this->object1Level3;
+ }
+
+ /**
+ * Sets object1Level3.
+ *
+ * @param LevelThreeData|null $object1Level3
+ *
+ * @return $this
+ */
+ public function setObject1Level3(?LevelThreeData $object1Level3 = null): self
+ {
+ $this->object1Level3 = $object1Level3;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets stringLevel3.
+ *
+ * @return string|null
+ */
+ public function getStringLevel3(): ?string
+ {
+ return $this->stringLevel3;
+ }
+
+ /**
+ * Sets stringLevel3.
+ *
+ * @param string|null $stringLevel3 String field at level 3
+ *
+ * @return $this
+ */
+ public function setStringLevel3(?string $stringLevel3 = null): self
+ {
+ $this->stringLevel3 = $stringLevel3;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/SecondLevelTwoData.php b/generator_php-symfony/package/src/Model/technical/SecondLevelTwoData.php
new file mode 100644
index 0000000000..466059c47a
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/SecondLevelTwoData.php
@@ -0,0 +1,93 @@
+object2Level3 = array_key_exists('object2Level3', $data) ? $data['object2Level3'] : $this->object2Level3;
+ }
+ }
+
+ /**
+ * Gets object2Level3.
+ *
+ * @return LevelThreeData|null
+ */
+ public function getObject2Level3(): ?LevelThreeData
+ {
+ return $this->object2Level3;
+ }
+
+ /**
+ * Sets object2Level3.
+ *
+ * @param LevelThreeData|null $object2Level3
+ *
+ * @return $this
+ */
+ public function setObject2Level3(?LevelThreeData $object2Level3 = null): self
+ {
+ $this->object2Level3 = $object2Level3;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/Technical.php b/generator_php-symfony/package/src/Model/technical/Technical.php
new file mode 100644
index 0000000000..ba79c369a5
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/Technical.php
@@ -0,0 +1,712 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $arrayField = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("enumArrayField")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Choice(['ENUM_VALUE_10', 'ENUM_VALUE_20', 'ENUM_VALUE_30', 'ENUM_VALUE_40', 'ENUM_VALUE_50']),
+ ])]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $enumArrayField = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("requiredArray")
+ * @Type("array")
+ */
+ #[Assert\NotNull]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(min: 1)]
+ protected ?array $requiredArray = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("arrayWithMaxLength")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(max: 5)]
+ protected ?array $arrayWithMaxLength = null;
+
+ /**
+ * Phone number with regex
+ *
+ * @var string|null
+ * @SerializedName("phoneNumberField")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^\\+?[0-9]{2,14}$/")]
+ protected ?string $phoneNumberField = null;
+
+ /**
+ * Date
+ *
+ * @var string|null
+ * @SerializedName("dateField")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^\\d{4}-\\d{2}-\\d{2}$/")]
+ protected ?string $dateField = null;
+
+ /**
+ * Email with regex
+ *
+ * @var string|null
+ * @SerializedName("emailField")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\\.)+[a-zA-Z0-9_-]{2,4}$/")]
+ protected ?string $emailField = null;
+
+ /**
+ * Datetime
+ *
+ * @var \DateTime|null
+ * @SerializedName("datetimeField")
+ * @Type("DateTime")
+ */
+ #[Assert\Type("\DateTime")]
+ #[Assert\Regex("/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[\\-+]\\d{2}:\\d{2}$/")]
+ protected ?\DateTime $datetimeField = null;
+
+ /**
+ * @var LevelOneData|null
+ * @SerializedName("objectLevel1")
+ * @Type("Hubsante\Model\technical\LevelOneData")
+ */
+ #[Assert\Type("Hubsante\Model\technical\LevelOneData")]
+ protected ?LevelOneData $objectLevel1 = null;
+
+ /**
+ * Enum from extenal nomenclature file
+ *
+ * @var string|null
+ * @SerializedName("nomenclatureField")
+ * @Type("string")
+ */
+ #[Assert\Choice(['M', 'F', 'O', 'UN'])]
+ #[Assert\Type("string")]
+ protected ?string $nomenclatureField = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->requiredStringField = array_key_exists('requiredStringField', $data) ? $data['requiredStringField'] : $this->requiredStringField;
+ $this->optionalStringField = array_key_exists('optionalStringField', $data) ? $data['optionalStringField'] : $this->optionalStringField;
+ $this->enumerationField = array_key_exists('enumerationField', $data) ? $data['enumerationField'] : $this->enumerationField;
+ $this->integerField = array_key_exists('integerField', $data) ? $data['integerField'] : $this->integerField;
+ $this->numberField = array_key_exists('numberField', $data) ? $data['numberField'] : $this->numberField;
+ $this->booleanField = array_key_exists('booleanField', $data) ? $data['booleanField'] : $this->booleanField;
+ $this->objectField = array_key_exists('objectField', $data) ? $data['objectField'] : $this->objectField;
+ $this->arrayField = array_key_exists('arrayField', $data) ? $data['arrayField'] : $this->arrayField;
+ $this->enumArrayField = array_key_exists('enumArrayField', $data) ? $data['enumArrayField'] : $this->enumArrayField;
+ $this->requiredArray = array_key_exists('requiredArray', $data) ? $data['requiredArray'] : $this->requiredArray;
+ $this->arrayWithMaxLength = array_key_exists('arrayWithMaxLength', $data) ? $data['arrayWithMaxLength'] : $this->arrayWithMaxLength;
+ $this->phoneNumberField = array_key_exists('phoneNumberField', $data) ? $data['phoneNumberField'] : $this->phoneNumberField;
+ $this->dateField = array_key_exists('dateField', $data) ? $data['dateField'] : $this->dateField;
+ $this->emailField = array_key_exists('emailField', $data) ? $data['emailField'] : $this->emailField;
+ $this->datetimeField = array_key_exists('datetimeField', $data) ? $data['datetimeField'] : $this->datetimeField;
+ $this->objectLevel1 = array_key_exists('objectLevel1', $data) ? $data['objectLevel1'] : $this->objectLevel1;
+ $this->nomenclatureField = array_key_exists('nomenclatureField', $data) ? $data['nomenclatureField'] : $this->nomenclatureField;
+ }
+ }
+
+ /**
+ * Gets requiredStringField.
+ *
+ * @return string|null
+ */
+ public function getRequiredStringField(): ?string
+ {
+ return $this->requiredStringField;
+ }
+
+ /**
+ * Sets requiredStringField.
+ *
+ * @param string|null $requiredStringField This field is required
+ *
+ * @return $this
+ */
+ public function setRequiredStringField(?string $requiredStringField): self
+ {
+ $this->requiredStringField = $requiredStringField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets optionalStringField.
+ *
+ * @return string|null
+ */
+ public function getOptionalStringField(): ?string
+ {
+ return $this->optionalStringField;
+ }
+
+ /**
+ * Sets optionalStringField.
+ *
+ * @param string|null $optionalStringField This field is optional
+ *
+ * @return $this
+ */
+ public function setOptionalStringField(?string $optionalStringField = null): self
+ {
+ $this->optionalStringField = $optionalStringField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets enumerationField.
+ *
+ * @return string|null
+ */
+ public function getEnumerationField(): ?string
+ {
+ return $this->enumerationField;
+ }
+
+ /**
+ * Sets enumerationField.
+ *
+ * @param string|null $enumerationField This is an enumeration
+ *
+ * @return $this
+ */
+ public function setEnumerationField(?string $enumerationField = null): self
+ {
+ $this->enumerationField = $enumerationField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets integerField.
+ *
+ * @return int|null
+ */
+ public function getIntegerField(): ?int
+ {
+ return $this->integerField;
+ }
+
+ /**
+ * Sets integerField.
+ *
+ * @param int|null $integerField This is an integer
+ *
+ * @return $this
+ */
+ public function setIntegerField(?int $integerField = null): self
+ {
+ $this->integerField = $integerField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets numberField.
+ *
+ * @return float|null
+ */
+ public function getNumberField(): ?float
+ {
+ return $this->numberField;
+ }
+
+ /**
+ * Sets numberField.
+ *
+ * @param float|null $numberField This is a number
+ *
+ * @return $this
+ */
+ public function setNumberField(?float $numberField = null): self
+ {
+ $this->numberField = $numberField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets booleanField.
+ *
+ * @return bool|null
+ */
+ public function isBooleanField(): ?bool
+ {
+ return $this->booleanField;
+ }
+
+ /**
+ * Sets booleanField.
+ *
+ * @param bool|null $booleanField This is a boolean
+ *
+ * @return $this
+ */
+ public function setBooleanField(?bool $booleanField = null): self
+ {
+ $this->booleanField = $booleanField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectField.
+ *
+ * @return TechnicalObject|null
+ */
+ public function getObjectField(): ?TechnicalObject
+ {
+ return $this->objectField;
+ }
+
+ /**
+ * Sets objectField.
+ *
+ * @param TechnicalObject|null $objectField
+ *
+ * @return $this
+ */
+ public function setObjectField(?TechnicalObject $objectField = null): self
+ {
+ $this->objectField = $objectField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets arrayField.
+ *
+ * @return string[]|null
+ */
+ public function getArrayField(): ?array
+ {
+ return $this->arrayField;
+ }
+
+ /**
+ * Sets arrayField.
+ *
+ * @param string[]|null $arrayField
+ *
+ * @return $this
+ */
+ public function setArrayField(?array $arrayField = null): self
+ {
+ $this->arrayField = $arrayField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets enumArrayField.
+ *
+ * @return string[]|null
+ */
+ public function getEnumArrayField(): ?array
+ {
+ return $this->enumArrayField;
+ }
+
+ /**
+ * Sets enumArrayField.
+ *
+ * @param string[]|null $enumArrayField
+ *
+ * @return $this
+ */
+ public function setEnumArrayField(?array $enumArrayField = null): self
+ {
+ $this->enumArrayField = $enumArrayField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets requiredArray.
+ *
+ * @return string[]|null
+ */
+ public function getRequiredArray(): ?array
+ {
+ return $this->requiredArray;
+ }
+
+ /**
+ * Sets requiredArray.
+ *
+ * @param string[]|null $requiredArray
+ *
+ * @return $this
+ */
+ public function setRequiredArray(?array $requiredArray): self
+ {
+ $this->requiredArray = $requiredArray;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets arrayWithMaxLength.
+ *
+ * @return string[]|null
+ */
+ public function getArrayWithMaxLength(): ?array
+ {
+ return $this->arrayWithMaxLength;
+ }
+
+ /**
+ * Sets arrayWithMaxLength.
+ *
+ * @param string[]|null $arrayWithMaxLength
+ *
+ * @return $this
+ */
+ public function setArrayWithMaxLength(?array $arrayWithMaxLength = null): self
+ {
+ $this->arrayWithMaxLength = $arrayWithMaxLength;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets phoneNumberField.
+ *
+ * @return string|null
+ */
+ public function getPhoneNumberField(): ?string
+ {
+ return $this->phoneNumberField;
+ }
+
+ /**
+ * Sets phoneNumberField.
+ *
+ * @param string|null $phoneNumberField Phone number with regex
+ *
+ * @return $this
+ */
+ public function setPhoneNumberField(?string $phoneNumberField = null): self
+ {
+ $this->phoneNumberField = $phoneNumberField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dateField.
+ *
+ * @return string|null
+ */
+ public function getDateField(): ?string
+ {
+ return $this->dateField;
+ }
+
+ /**
+ * Sets dateField.
+ *
+ * @param string|null $dateField Date
+ *
+ * @return $this
+ */
+ public function setDateField(?string $dateField = null): self
+ {
+ $this->dateField = $dateField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets emailField.
+ *
+ * @return string|null
+ */
+ public function getEmailField(): ?string
+ {
+ return $this->emailField;
+ }
+
+ /**
+ * Sets emailField.
+ *
+ * @param string|null $emailField Email with regex
+ *
+ * @return $this
+ */
+ public function setEmailField(?string $emailField = null): self
+ {
+ $this->emailField = $emailField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets datetimeField.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetimeField(): ?\DateTime
+ {
+ return $this->datetimeField;
+ }
+
+ /**
+ * Sets datetimeField.
+ *
+ * @param \DateTime|null $datetimeField Datetime
+ *
+ * @return $this
+ */
+ public function setDatetimeField(?\DateTime $datetimeField = null): self
+ {
+ $this->datetimeField = $datetimeField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectLevel1.
+ *
+ * @return LevelOneData|null
+ */
+ public function getObjectLevel1(): ?LevelOneData
+ {
+ return $this->objectLevel1;
+ }
+
+ /**
+ * Sets objectLevel1.
+ *
+ * @param LevelOneData|null $objectLevel1
+ *
+ * @return $this
+ */
+ public function setObjectLevel1(?LevelOneData $objectLevel1 = null): self
+ {
+ $this->objectLevel1 = $objectLevel1;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nomenclatureField.
+ *
+ * @return string|null
+ */
+ public function getNomenclatureField(): ?string
+ {
+ return $this->nomenclatureField;
+ }
+
+ /**
+ * Sets nomenclatureField.
+ *
+ * @param string|null $nomenclatureField Enum from extenal nomenclature file
+ *
+ * @return $this
+ */
+ public function setNomenclatureField(?string $nomenclatureField = null): self
+ {
+ $this->nomenclatureField = $nomenclatureField;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/TechnicalObject.php b/generator_php-symfony/package/src/Model/technical/TechnicalObject.php
new file mode 100644
index 0000000000..54c27c5827
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/TechnicalObject.php
@@ -0,0 +1,172 @@
+objectPropertyString = array_key_exists('objectPropertyString', $data) ? $data['objectPropertyString'] : $this->objectPropertyString;
+ $this->objectPropertyNumber = array_key_exists('objectPropertyNumber', $data) ? $data['objectPropertyNumber'] : $this->objectPropertyNumber;
+ $this->objectPropertyRequiredString = array_key_exists('objectPropertyRequiredString', $data) ? $data['objectPropertyRequiredString'] : $this->objectPropertyRequiredString;
+ }
+ }
+
+ /**
+ * Gets objectPropertyString.
+ *
+ * @return string|null
+ */
+ public function getObjectPropertyString(): ?string
+ {
+ return $this->objectPropertyString;
+ }
+
+ /**
+ * Sets objectPropertyString.
+ *
+ * @param string|null $objectPropertyString Object property string
+ *
+ * @return $this
+ */
+ public function setObjectPropertyString(?string $objectPropertyString = null): self
+ {
+ $this->objectPropertyString = $objectPropertyString;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectPropertyNumber.
+ *
+ * @return float|null
+ */
+ public function getObjectPropertyNumber(): ?float
+ {
+ return $this->objectPropertyNumber;
+ }
+
+ /**
+ * Sets objectPropertyNumber.
+ *
+ * @param float|null $objectPropertyNumber Object property number
+ *
+ * @return $this
+ */
+ public function setObjectPropertyNumber(?float $objectPropertyNumber = null): self
+ {
+ $this->objectPropertyNumber = $objectPropertyNumber;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectPropertyRequiredString.
+ *
+ * @return string|null
+ */
+ public function getObjectPropertyRequiredString(): ?string
+ {
+ return $this->objectPropertyRequiredString;
+ }
+
+ /**
+ * Sets objectPropertyRequiredString.
+ *
+ * @param string|null $objectPropertyRequiredString Required object property
+ *
+ * @return $this
+ */
+ public function setObjectPropertyRequiredString(?string $objectPropertyRequiredString): self
+ {
+ $this->objectPropertyRequiredString = $objectPropertyRequiredString;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/TechnicalWrapper.php b/generator_php-symfony/package/src/Model/technical/TechnicalWrapper.php
new file mode 100644
index 0000000000..cd525ab920
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/TechnicalWrapper.php
@@ -0,0 +1,95 @@
+technical = array_key_exists('technical', $data) ? $data['technical'] : $this->technical;
+ }
+ }
+
+ /**
+ * Gets technical.
+ *
+ * @return Technical|null
+ */
+ public function getTechnical(): ?Technical
+ {
+ return $this->technical;
+ }
+
+ /**
+ * Sets technical.
+ *
+ * @param Technical|null $technical
+ *
+ * @return $this
+ */
+ public function setTechnical(?Technical $technical): self
+ {
+ $this->technical = $technical;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/noreq/LevelOneData.php b/generator_php-symfony/package/src/Model/technical/noreq/LevelOneData.php
new file mode 100644
index 0000000000..2bc55786b9
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/noreq/LevelOneData.php
@@ -0,0 +1,167 @@
+object1Level2 = array_key_exists('object1Level2', $data) ? $data['object1Level2'] : $this->object1Level2;
+ $this->stringLevel2 = array_key_exists('stringLevel2', $data) ? $data['stringLevel2'] : $this->stringLevel2;
+ $this->object2Level2 = array_key_exists('object2Level2', $data) ? $data['object2Level2'] : $this->object2Level2;
+ }
+ }
+
+ /**
+ * Gets object1Level2.
+ *
+ * @return LevelTwoData|null
+ */
+ public function getObject1Level2(): ?LevelTwoData
+ {
+ return $this->object1Level2;
+ }
+
+ /**
+ * Sets object1Level2.
+ *
+ * @param LevelTwoData|null $object1Level2
+ *
+ * @return $this
+ */
+ public function setObject1Level2(?LevelTwoData $object1Level2 = null): self
+ {
+ $this->object1Level2 = $object1Level2;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets stringLevel2.
+ *
+ * @return string|null
+ */
+ public function getStringLevel2(): ?string
+ {
+ return $this->stringLevel2;
+ }
+
+ /**
+ * Sets stringLevel2.
+ *
+ * @param string|null $stringLevel2 String field at level 2
+ *
+ * @return $this
+ */
+ public function setStringLevel2(?string $stringLevel2 = null): self
+ {
+ $this->stringLevel2 = $stringLevel2;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets object2Level2.
+ *
+ * @return SecondLevelTwoData|null
+ */
+ public function getObject2Level2(): ?SecondLevelTwoData
+ {
+ return $this->object2Level2;
+ }
+
+ /**
+ * Sets object2Level2.
+ *
+ * @param SecondLevelTwoData|null $object2Level2
+ *
+ * @return $this
+ */
+ public function setObject2Level2(?SecondLevelTwoData $object2Level2 = null): self
+ {
+ $this->object2Level2 = $object2Level2;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/noreq/LevelThreeData.php b/generator_php-symfony/package/src/Model/technical/noreq/LevelThreeData.php
new file mode 100644
index 0000000000..9d36227f39
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/noreq/LevelThreeData.php
@@ -0,0 +1,95 @@
+stringLevel4 = array_key_exists('stringLevel4', $data) ? $data['stringLevel4'] : $this->stringLevel4;
+ }
+ }
+
+ /**
+ * Gets stringLevel4.
+ *
+ * @return string|null
+ */
+ public function getStringLevel4(): ?string
+ {
+ return $this->stringLevel4;
+ }
+
+ /**
+ * Sets stringLevel4.
+ *
+ * @param string|null $stringLevel4 String field at level 4
+ *
+ * @return $this
+ */
+ public function setStringLevel4(?string $stringLevel4 = null): self
+ {
+ $this->stringLevel4 = $stringLevel4;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/noreq/LevelTwoData.php b/generator_php-symfony/package/src/Model/technical/noreq/LevelTwoData.php
new file mode 100644
index 0000000000..bac564d3ad
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/noreq/LevelTwoData.php
@@ -0,0 +1,131 @@
+object1Level3 = array_key_exists('object1Level3', $data) ? $data['object1Level3'] : $this->object1Level3;
+ $this->stringLevel3 = array_key_exists('stringLevel3', $data) ? $data['stringLevel3'] : $this->stringLevel3;
+ }
+ }
+
+ /**
+ * Gets object1Level3.
+ *
+ * @return LevelThreeData|null
+ */
+ public function getObject1Level3(): ?LevelThreeData
+ {
+ return $this->object1Level3;
+ }
+
+ /**
+ * Sets object1Level3.
+ *
+ * @param LevelThreeData|null $object1Level3
+ *
+ * @return $this
+ */
+ public function setObject1Level3(?LevelThreeData $object1Level3 = null): self
+ {
+ $this->object1Level3 = $object1Level3;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets stringLevel3.
+ *
+ * @return string|null
+ */
+ public function getStringLevel3(): ?string
+ {
+ return $this->stringLevel3;
+ }
+
+ /**
+ * Sets stringLevel3.
+ *
+ * @param string|null $stringLevel3 String field at level 3
+ *
+ * @return $this
+ */
+ public function setStringLevel3(?string $stringLevel3 = null): self
+ {
+ $this->stringLevel3 = $stringLevel3;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/noreq/SecondLevelTwoData.php b/generator_php-symfony/package/src/Model/technical/noreq/SecondLevelTwoData.php
new file mode 100644
index 0000000000..7842530104
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/noreq/SecondLevelTwoData.php
@@ -0,0 +1,93 @@
+object2Level3 = array_key_exists('object2Level3', $data) ? $data['object2Level3'] : $this->object2Level3;
+ }
+ }
+
+ /**
+ * Gets object2Level3.
+ *
+ * @return LevelThreeData|null
+ */
+ public function getObject2Level3(): ?LevelThreeData
+ {
+ return $this->object2Level3;
+ }
+
+ /**
+ * Sets object2Level3.
+ *
+ * @param LevelThreeData|null $object2Level3
+ *
+ * @return $this
+ */
+ public function setObject2Level3(?LevelThreeData $object2Level3 = null): self
+ {
+ $this->object2Level3 = $object2Level3;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/noreq/TechnicalNoreq.php b/generator_php-symfony/package/src/Model/technical/noreq/TechnicalNoreq.php
new file mode 100644
index 0000000000..fd15f97b65
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/noreq/TechnicalNoreq.php
@@ -0,0 +1,633 @@
+")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $arrayField = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("enumArrayField")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Choice(['ENUM_VALUE_10', 'ENUM_VALUE_20', 'ENUM_VALUE_30', 'ENUM_VALUE_40', 'ENUM_VALUE_50']),
+ ])]
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ protected ?array $enumArrayField = null;
+
+ /**
+ * @var string[]|null
+ * @SerializedName("arrayWithMaxLength")
+ * @Type("array")
+ */
+ #[Assert\All([
+ new Assert\Type("string"),
+ ])]
+ #[Assert\Count(max: 5)]
+ protected ?array $arrayWithMaxLength = null;
+
+ /**
+ * Phone number with regex
+ *
+ * @var string|null
+ * @SerializedName("phoneNumberField")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^\\+?[0-9]{2,14}$/")]
+ protected ?string $phoneNumberField = null;
+
+ /**
+ * Date
+ *
+ * @var string|null
+ * @SerializedName("dateField")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^\\d{4}-\\d{2}-\\d{2}$/")]
+ protected ?string $dateField = null;
+
+ /**
+ * Email with regex
+ *
+ * @var string|null
+ * @SerializedName("emailField")
+ * @Type("string")
+ */
+ #[Assert\Type("string")]
+ #[Assert\Regex("/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\\.)+[a-zA-Z0-9_-]{2,4}$/")]
+ protected ?string $emailField = null;
+
+ /**
+ * Datetime
+ *
+ * @var \DateTime|null
+ * @SerializedName("datetimeField")
+ * @Type("DateTime")
+ */
+ #[Assert\Type("\DateTime")]
+ #[Assert\Regex("/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[\\-+]\\d{2}:\\d{2}$/")]
+ protected ?\DateTime $datetimeField = null;
+
+ /**
+ * @var LevelOneData|null
+ * @SerializedName("objectLevel1")
+ * @Type("Hubsante\Model\technical.noreq\LevelOneData")
+ */
+ #[Assert\Type("Hubsante\Model\technical.noreq\LevelOneData")]
+ protected ?LevelOneData $objectLevel1 = null;
+
+ /**
+ * Enum from extenal nomenclature file
+ *
+ * @var string|null
+ * @SerializedName("nomenclatureField")
+ * @Type("string")
+ */
+ #[Assert\Choice(['M', 'F', 'O', 'UN'])]
+ #[Assert\Type("string")]
+ protected ?string $nomenclatureField = null;
+
+ /**
+ * Constructor
+ * @param array|null $data Associated array of property values initializing the model
+ */
+ public function __construct(?array $data = null)
+ {
+ if (is_array($data)) {
+ $this->optionalStringField = array_key_exists('optionalStringField', $data) ? $data['optionalStringField'] : $this->optionalStringField;
+ $this->enumerationField = array_key_exists('enumerationField', $data) ? $data['enumerationField'] : $this->enumerationField;
+ $this->integerField = array_key_exists('integerField', $data) ? $data['integerField'] : $this->integerField;
+ $this->numberField = array_key_exists('numberField', $data) ? $data['numberField'] : $this->numberField;
+ $this->booleanField = array_key_exists('booleanField', $data) ? $data['booleanField'] : $this->booleanField;
+ $this->objectField = array_key_exists('objectField', $data) ? $data['objectField'] : $this->objectField;
+ $this->arrayField = array_key_exists('arrayField', $data) ? $data['arrayField'] : $this->arrayField;
+ $this->enumArrayField = array_key_exists('enumArrayField', $data) ? $data['enumArrayField'] : $this->enumArrayField;
+ $this->arrayWithMaxLength = array_key_exists('arrayWithMaxLength', $data) ? $data['arrayWithMaxLength'] : $this->arrayWithMaxLength;
+ $this->phoneNumberField = array_key_exists('phoneNumberField', $data) ? $data['phoneNumberField'] : $this->phoneNumberField;
+ $this->dateField = array_key_exists('dateField', $data) ? $data['dateField'] : $this->dateField;
+ $this->emailField = array_key_exists('emailField', $data) ? $data['emailField'] : $this->emailField;
+ $this->datetimeField = array_key_exists('datetimeField', $data) ? $data['datetimeField'] : $this->datetimeField;
+ $this->objectLevel1 = array_key_exists('objectLevel1', $data) ? $data['objectLevel1'] : $this->objectLevel1;
+ $this->nomenclatureField = array_key_exists('nomenclatureField', $data) ? $data['nomenclatureField'] : $this->nomenclatureField;
+ }
+ }
+
+ /**
+ * Gets optionalStringField.
+ *
+ * @return string|null
+ */
+ public function getOptionalStringField(): ?string
+ {
+ return $this->optionalStringField;
+ }
+
+ /**
+ * Sets optionalStringField.
+ *
+ * @param string|null $optionalStringField This field is optional
+ *
+ * @return $this
+ */
+ public function setOptionalStringField(?string $optionalStringField = null): self
+ {
+ $this->optionalStringField = $optionalStringField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets enumerationField.
+ *
+ * @return string|null
+ */
+ public function getEnumerationField(): ?string
+ {
+ return $this->enumerationField;
+ }
+
+ /**
+ * Sets enumerationField.
+ *
+ * @param string|null $enumerationField This is an enumeration
+ *
+ * @return $this
+ */
+ public function setEnumerationField(?string $enumerationField = null): self
+ {
+ $this->enumerationField = $enumerationField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets integerField.
+ *
+ * @return int|null
+ */
+ public function getIntegerField(): ?int
+ {
+ return $this->integerField;
+ }
+
+ /**
+ * Sets integerField.
+ *
+ * @param int|null $integerField This is an integer
+ *
+ * @return $this
+ */
+ public function setIntegerField(?int $integerField = null): self
+ {
+ $this->integerField = $integerField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets numberField.
+ *
+ * @return float|null
+ */
+ public function getNumberField(): ?float
+ {
+ return $this->numberField;
+ }
+
+ /**
+ * Sets numberField.
+ *
+ * @param float|null $numberField This is a number
+ *
+ * @return $this
+ */
+ public function setNumberField(?float $numberField = null): self
+ {
+ $this->numberField = $numberField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets booleanField.
+ *
+ * @return bool|null
+ */
+ public function isBooleanField(): ?bool
+ {
+ return $this->booleanField;
+ }
+
+ /**
+ * Sets booleanField.
+ *
+ * @param bool|null $booleanField This is a boolean
+ *
+ * @return $this
+ */
+ public function setBooleanField(?bool $booleanField = null): self
+ {
+ $this->booleanField = $booleanField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectField.
+ *
+ * @return TechnicalObject|null
+ */
+ public function getObjectField(): ?TechnicalObject
+ {
+ return $this->objectField;
+ }
+
+ /**
+ * Sets objectField.
+ *
+ * @param TechnicalObject|null $objectField
+ *
+ * @return $this
+ */
+ public function setObjectField(?TechnicalObject $objectField = null): self
+ {
+ $this->objectField = $objectField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets arrayField.
+ *
+ * @return string[]|null
+ */
+ public function getArrayField(): ?array
+ {
+ return $this->arrayField;
+ }
+
+ /**
+ * Sets arrayField.
+ *
+ * @param string[]|null $arrayField
+ *
+ * @return $this
+ */
+ public function setArrayField(?array $arrayField = null): self
+ {
+ $this->arrayField = $arrayField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets enumArrayField.
+ *
+ * @return string[]|null
+ */
+ public function getEnumArrayField(): ?array
+ {
+ return $this->enumArrayField;
+ }
+
+ /**
+ * Sets enumArrayField.
+ *
+ * @param string[]|null $enumArrayField
+ *
+ * @return $this
+ */
+ public function setEnumArrayField(?array $enumArrayField = null): self
+ {
+ $this->enumArrayField = $enumArrayField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets arrayWithMaxLength.
+ *
+ * @return string[]|null
+ */
+ public function getArrayWithMaxLength(): ?array
+ {
+ return $this->arrayWithMaxLength;
+ }
+
+ /**
+ * Sets arrayWithMaxLength.
+ *
+ * @param string[]|null $arrayWithMaxLength
+ *
+ * @return $this
+ */
+ public function setArrayWithMaxLength(?array $arrayWithMaxLength = null): self
+ {
+ $this->arrayWithMaxLength = $arrayWithMaxLength;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets phoneNumberField.
+ *
+ * @return string|null
+ */
+ public function getPhoneNumberField(): ?string
+ {
+ return $this->phoneNumberField;
+ }
+
+ /**
+ * Sets phoneNumberField.
+ *
+ * @param string|null $phoneNumberField Phone number with regex
+ *
+ * @return $this
+ */
+ public function setPhoneNumberField(?string $phoneNumberField = null): self
+ {
+ $this->phoneNumberField = $phoneNumberField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets dateField.
+ *
+ * @return string|null
+ */
+ public function getDateField(): ?string
+ {
+ return $this->dateField;
+ }
+
+ /**
+ * Sets dateField.
+ *
+ * @param string|null $dateField Date
+ *
+ * @return $this
+ */
+ public function setDateField(?string $dateField = null): self
+ {
+ $this->dateField = $dateField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets emailField.
+ *
+ * @return string|null
+ */
+ public function getEmailField(): ?string
+ {
+ return $this->emailField;
+ }
+
+ /**
+ * Sets emailField.
+ *
+ * @param string|null $emailField Email with regex
+ *
+ * @return $this
+ */
+ public function setEmailField(?string $emailField = null): self
+ {
+ $this->emailField = $emailField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets datetimeField.
+ *
+ * @return \DateTime|null
+ */
+ public function getDatetimeField(): ?\DateTime
+ {
+ return $this->datetimeField;
+ }
+
+ /**
+ * Sets datetimeField.
+ *
+ * @param \DateTime|null $datetimeField Datetime
+ *
+ * @return $this
+ */
+ public function setDatetimeField(?\DateTime $datetimeField = null): self
+ {
+ $this->datetimeField = $datetimeField;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectLevel1.
+ *
+ * @return LevelOneData|null
+ */
+ public function getObjectLevel1(): ?LevelOneData
+ {
+ return $this->objectLevel1;
+ }
+
+ /**
+ * Sets objectLevel1.
+ *
+ * @param LevelOneData|null $objectLevel1
+ *
+ * @return $this
+ */
+ public function setObjectLevel1(?LevelOneData $objectLevel1 = null): self
+ {
+ $this->objectLevel1 = $objectLevel1;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets nomenclatureField.
+ *
+ * @return string|null
+ */
+ public function getNomenclatureField(): ?string
+ {
+ return $this->nomenclatureField;
+ }
+
+ /**
+ * Sets nomenclatureField.
+ *
+ * @param string|null $nomenclatureField Enum from extenal nomenclature file
+ *
+ * @return $this
+ */
+ public function setNomenclatureField(?string $nomenclatureField = null): self
+ {
+ $this->nomenclatureField = $nomenclatureField;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/noreq/TechnicalNoreqWrapper.php b/generator_php-symfony/package/src/Model/technical/noreq/TechnicalNoreqWrapper.php
new file mode 100644
index 0000000000..a3bea75616
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/noreq/TechnicalNoreqWrapper.php
@@ -0,0 +1,95 @@
+technicalNoreq = array_key_exists('technicalNoreq', $data) ? $data['technicalNoreq'] : $this->technicalNoreq;
+ }
+ }
+
+ /**
+ * Gets technicalNoreq.
+ *
+ * @return TechnicalNoreq|null
+ */
+ public function getTechnicalNoreq(): ?TechnicalNoreq
+ {
+ return $this->technicalNoreq;
+ }
+
+ /**
+ * Sets technicalNoreq.
+ *
+ * @param TechnicalNoreq|null $technicalNoreq
+ *
+ * @return $this
+ */
+ public function setTechnicalNoreq(?TechnicalNoreq $technicalNoreq): self
+ {
+ $this->technicalNoreq = $technicalNoreq;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_php-symfony/package/src/Model/technical/noreq/TechnicalObject.php b/generator_php-symfony/package/src/Model/technical/noreq/TechnicalObject.php
new file mode 100644
index 0000000000..10a18afbbb
--- /dev/null
+++ b/generator_php-symfony/package/src/Model/technical/noreq/TechnicalObject.php
@@ -0,0 +1,172 @@
+objectPropertyString = array_key_exists('objectPropertyString', $data) ? $data['objectPropertyString'] : $this->objectPropertyString;
+ $this->objectPropertyNumber = array_key_exists('objectPropertyNumber', $data) ? $data['objectPropertyNumber'] : $this->objectPropertyNumber;
+ $this->objectPropertyRequiredString = array_key_exists('objectPropertyRequiredString', $data) ? $data['objectPropertyRequiredString'] : $this->objectPropertyRequiredString;
+ }
+ }
+
+ /**
+ * Gets objectPropertyString.
+ *
+ * @return string|null
+ */
+ public function getObjectPropertyString(): ?string
+ {
+ return $this->objectPropertyString;
+ }
+
+ /**
+ * Sets objectPropertyString.
+ *
+ * @param string|null $objectPropertyString Object property string
+ *
+ * @return $this
+ */
+ public function setObjectPropertyString(?string $objectPropertyString = null): self
+ {
+ $this->objectPropertyString = $objectPropertyString;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectPropertyNumber.
+ *
+ * @return float|null
+ */
+ public function getObjectPropertyNumber(): ?float
+ {
+ return $this->objectPropertyNumber;
+ }
+
+ /**
+ * Sets objectPropertyNumber.
+ *
+ * @param float|null $objectPropertyNumber Object property number
+ *
+ * @return $this
+ */
+ public function setObjectPropertyNumber(?float $objectPropertyNumber = null): self
+ {
+ $this->objectPropertyNumber = $objectPropertyNumber;
+
+ return $this;
+ }
+
+
+
+
+ /**
+ * Gets objectPropertyRequiredString.
+ *
+ * @return string|null
+ */
+ public function getObjectPropertyRequiredString(): ?string
+ {
+ return $this->objectPropertyRequiredString;
+ }
+
+ /**
+ * Sets objectPropertyRequiredString.
+ *
+ * @param string|null $objectPropertyRequiredString Required object property
+ *
+ * @return $this
+ */
+ public function setObjectPropertyRequiredString(?string $objectPropertyRequiredString): self
+ {
+ $this->objectPropertyRequiredString = $objectPropertyRequiredString;
+
+ return $this;
+ }
+
+
+
+}
+
+
diff --git a/generator_python/package/src/hubsante_model/__init__.py b/generator_python/package/src/hubsante_model/__init__.py
index 3280b8f7a6..6a5673ddb7 100644
--- a/generator_python/package/src/hubsante_model/__init__.py
+++ b/generator_python/package/src/hubsante_model/__init__.py
@@ -1,6 +1,7 @@
# Auto-generated imports
from .health.models.create_case_health_wrapper import *
from .cisu.models.create_case_wrapper import *
+from .cisu.resources.models.resources_info_cisu_wrapper import *
from .technical.models.technical_wrapper import *
from .technical.noreq.models.technical_noreq_wrapper import *
from .reference.models.reference_wrapper import *
@@ -8,6 +9,7 @@
from .resources.info.models.resources_info_wrapper import *
from .resources.request.models.resources_request_wrapper import *
from .resources.status.models.resources_status_wrapper import *
+from .sas.models.appointment_wrapper import *
from .geolocation.models.geo_positions_update_wrapper import *
from .geolocation.models.geo_resources_details_wrapper import *
from .geolocation.models.geo_resources_request_wrapper import *
diff --git a/generator_python/package/src/hubsante_model/cisu/models/attachment.py b/generator_python/package/src/hubsante_model/cisu/models/attachment.py
index 70265555f0..3449ae9120 100644
--- a/generator_python/package/src/hubsante_model/cisu/models/attachment.py
+++ b/generator_python/package/src/hubsante_model/cisu/models/attachment.py
@@ -29,7 +29,7 @@ class Attachment(BaseModel):
description: Optional[StrictStr] = Field(default=None, description="Décrit la ressource en précisant le type et le contenu, tels que «carte» ou «photo»")
mime_type: Optional[StrictStr] = Field(default=None, description="L'identifiant du type MIME de contenu et sous-type décrivant la ressource", alias="mimeType")
size: Optional[StrictInt] = Field(default=None, description="Taille approximative de la ressource en kO")
- uri: StrictStr = Field(description="Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([\\w-]+(\\.[\\w-]+)*)(/[\\w\\-\\.]*)*/?(\\?[^\\s]*)?", alias="URI")
+ uri: StrictStr = Field(description="Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*)(/[a-zA-Z0-9_\\-\\.]*)*/?(\\?[^\\s]*)?", alias="URI")
deref_uri: Optional[StrictStr] = Field(default=None, description="Peut ĂȘtre utilisĂ© Ă la place de l'Ă©lĂ©ment 'URI' pour envoyer la ressource encodĂ©e en base64 pour Ă©viter des problĂšmes de transcodage (sur des double quotes qui casseraient le message, âŠ)", alias="derefURI")
digest: Optional[StrictStr] = Field(default=None, description="Hash de la ressource pour confirmer la réception de la bonne ressource La ressource est hashée avec le protocole SHA-256")
__properties: ClassVar[List[str]] = ["description", "mimeType", "size", "URI", "derefURI", "digest"]
diff --git a/generator_python/package/src/hubsante_model/cisu/models/create_case.py b/generator_python/package/src/hubsante_model/cisu/models/create_case.py
index ae8b078efe..9e6a7fc8df 100644
--- a/generator_python/package/src/hubsante_model/cisu/models/create_case.py
+++ b/generator_python/package/src/hubsante_model/cisu/models/create_case.py
@@ -47,8 +47,8 @@ class CreateCase(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('creation')
diff --git a/generator_python/package/src/hubsante_model/cisu/resources/models/contact.py b/generator_python/package/src/hubsante_model/cisu/resources/models/contact.py
new file mode 100644
index 0000000000..958a4e40c6
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/cisu/resources/models/contact.py
@@ -0,0 +1,99 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Contact(BaseModel):
+ """
+ Contact
+ """ # noqa: E501
+ type: Optional[StrictStr] = Field(default=None, description="A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.")
+ details: Optional[StrictStr] = Field(default=None, description="A valoriser avec la valeur de l'URI utilisée Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}")
+ __properties: ClassVar[List[str]] = ["type", "details"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['EMAIL', 'FAX', 'MSS', 'POSTAL', 'RADIO', 'TEL', 'WEB']):
+ raise ValueError("must be one of enum values ('EMAIL', 'FAX', 'MSS', 'POSTAL', 'RADIO', 'TEL', 'WEB')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Contact from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Contact from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "type": obj.get("type"),
+ "details": obj.get("details")
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/cisu/resources/models/resource.py b/generator_python/package/src/hubsante_model/cisu/resources/models/resource.py
new file mode 100644
index 0000000000..8981b894e1
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/cisu/resources/models/resource.py
@@ -0,0 +1,166 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from hubsante_model.cisu.resources.models.contact import Contact
+from hubsante_model.cisu.resources.models.state import State
+from hubsante_model.cisu.resources.models.team import Team
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Resource(BaseModel):
+ """
+ Resource
+ """ # noqa: E501
+ datetime: str = Field(description="A valoriser avec la date et heure d'engagement de la ressource/du vecteur")
+ resource_id: Annotated[str, Field(strict=True)] = Field(description="A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}", alias="resourceId")
+ request_id: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A valoriser avec l'identifiant unique partagĂ© de la demande de ressource (si la ressource a Ă©tĂ© engagĂ©e suite Ă une demande de ressource), normĂ© comme suit : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - si un ID unique de la demande n'Ă©tait pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}", alias="requestId")
+ mission_id: Optional[StrictStr] = Field(default=None, description="A valoriser avec le numĂ©ro de mission unique du central dâappel (PSAP, âŠ) qui a dĂ©clenchĂ© le vecteur", alias="missionId")
+ org_id: Optional[StrictStr] = Field(default=None, description="A valoriser avec l'identifiant de l'organisation à laquelle appartient la ressource, normé comme suit : {pays}.{domaine}.{organisation}", alias="orgId")
+ center_name: Optional[StrictStr] = Field(default=None, description="A valoriser avec le lieu de garage principal", alias="centerName")
+ vehicle_type: StrictStr = Field(description="A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée", alias="vehicleType")
+ name: Optional[StrictStr] = Field(default=None, description="A valoriser avec le nom donnĂ© Ă la ressource par lâorganisation dâappartenance")
+ center_city: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A valoriser avec le code INSEE de la commune du centre d'affectation", alias="centerCity")
+ team: Optional[Team] = None
+ state: State
+ contact: Optional[Contact] = None
+ freetext: Optional[List[StrictStr]] = None
+ __properties: ClassVar[List[str]] = ["datetime", "resourceId", "requestId", "missionId", "orgId", "centerName", "vehicleType", "name", "centerCity", "team", "state", "contact", "freetext"]
+
+ @field_validator('datetime')
+ def datetime_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", value):
+ raise ValueError(r"must validate the regular expression /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/")
+ return value
+
+ @field_validator('resource_id')
+ def resource_id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/")
+ return value
+
+ @field_validator('request_id')
+ def request_id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/")
+ return value
+
+ @field_validator('vehicle_type')
+ def vehicle_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['SMUR', 'SIS']):
+ raise ValueError("must be one of enum values ('SMUR', 'SIS')")
+ return value
+
+ @field_validator('center_city')
+ def center_city_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not re.match(r"^[0-9]{5}$", value):
+ raise ValueError(r"must validate the regular expression /^[0-9]{5}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Resource from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of team
+ if self.team:
+ _dict['team'] = self.team.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of state
+ if self.state:
+ _dict['state'] = self.state.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of contact
+ if self.contact:
+ _dict['contact'] = self.contact.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Resource from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "datetime": obj.get("datetime"),
+ "resourceId": obj.get("resourceId"),
+ "requestId": obj.get("requestId"),
+ "missionId": obj.get("missionId"),
+ "orgId": obj.get("orgId"),
+ "centerName": obj.get("centerName"),
+ "vehicleType": obj.get("vehicleType"),
+ "name": obj.get("name"),
+ "centerCity": obj.get("centerCity"),
+ "team": Team.from_dict(obj["team"]) if obj.get("team") is not None else None,
+ "state": State.from_dict(obj["state"]) if obj.get("state") is not None else None,
+ "contact": Contact.from_dict(obj["contact"]) if obj.get("contact") is not None else None,
+ "freetext": obj.get("freetext")
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/cisu/resources/models/resources_info_cisu.py b/generator_python/package/src/hubsante_model/cisu/resources/models/resources_info_cisu.py
new file mode 100644
index 0000000000..b30138ff73
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/cisu/resources/models/resources_info_cisu.py
@@ -0,0 +1,105 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from hubsante_model.cisu.resources.models.resource import Resource
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ResourcesInfoCisu(BaseModel):
+ """
+ ResourcesInfoCisu
+ """ # noqa: E501
+ case_id: Annotated[str, Field(strict=True)] = Field(description="A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.", alias="caseId")
+ resource: Optional[List[Resource]] = None
+ __properties: ClassVar[List[str]] = ["caseId", "resource"]
+
+ @field_validator('case_id')
+ def case_id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ResourcesInfoCisu from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in resource (list)
+ _items = []
+ if self.resource:
+ for _item_resource in self.resource:
+ if _item_resource:
+ _items.append(_item_resource.to_dict())
+ _dict['resource'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ResourcesInfoCisu from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "caseId": obj.get("caseId"),
+ "resource": [Resource.from_dict(_item) for _item in obj["resource"]] if obj.get("resource") is not None else None
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/cisu/resources/models/resources_info_cisu_wrapper.py b/generator_python/package/src/hubsante_model/cisu/resources/models/resources_info_cisu_wrapper.py
new file mode 100644
index 0000000000..2a8d192029
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/cisu/resources/models/resources_info_cisu_wrapper.py
@@ -0,0 +1,91 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from hubsante_model.cisu.resources.models.resources_info_cisu import ResourcesInfoCisu
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ResourcesInfoCisuWrapper(BaseModel):
+ """
+ ResourcesInfoCisuWrapper
+ """ # noqa: E501
+ resources_info_cisu: ResourcesInfoCisu = Field(alias="resourcesInfoCisu")
+ __properties: ClassVar[List[str]] = ["resourcesInfoCisu"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ResourcesInfoCisuWrapper from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of resources_info_cisu
+ if self.resources_info_cisu:
+ _dict['resourcesInfoCisu'] = self.resources_info_cisu.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ResourcesInfoCisuWrapper from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "resourcesInfoCisu": ResourcesInfoCisu.from_dict(obj["resourcesInfoCisu"]) if obj.get("resourcesInfoCisu") is not None else None
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/cisu/resources/models/state.py b/generator_python/package/src/hubsante_model/cisu/resources/models/state.py
new file mode 100644
index 0000000000..4223d2ea0c
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/cisu/resources/models/state.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class State(BaseModel):
+ """
+ State
+ """ # noqa: E501
+ datetime: str = Field(description="A valoriser avec la date et heure d'engagement de changement vers le nouveau statut")
+ status: StrictStr = Field(description="A valoriser avec le statut du vecteur. Cf nomenclature associée.")
+ availability: Optional[StrictBool] = Field(default=None, description="A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU")
+ __properties: ClassVar[List[str]] = ["datetime", "status", "availability"]
+
+ @field_validator('datetime')
+ def datetime_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", value):
+ raise ValueError(r"must validate the regular expression /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/")
+ return value
+
+ @field_validator('status')
+ def status_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['DECISION', 'DECLENCHE', 'DEPART', 'ANNULE', 'ARRIVEE', 'PEC', 'BILAN', 'ORIENTAT', 'TRANSP', 'ETAPE1', 'TRANSP2', 'ETAPE2', 'TRANSP3', 'DESTIN', 'FINPEC', 'RETOUR', 'RET-BASE', 'REN-BASE']):
+ raise ValueError("must be one of enum values ('DECISION', 'DECLENCHE', 'DEPART', 'ANNULE', 'ARRIVEE', 'PEC', 'BILAN', 'ORIENTAT', 'TRANSP', 'ETAPE1', 'TRANSP2', 'ETAPE2', 'TRANSP3', 'DESTIN', 'FINPEC', 'RETOUR', 'RET-BASE', 'REN-BASE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of State from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of State from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "datetime": obj.get("datetime"),
+ "status": obj.get("status"),
+ "availability": obj.get("availability")
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/cisu/resources/models/team.py b/generator_python/package/src/hubsante_model/cisu/resources/models/team.py
new file mode 100644
index 0000000000..c0dab7bbca
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/cisu/resources/models/team.py
@@ -0,0 +1,99 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Team(BaseModel):
+ """
+ Team
+ """ # noqa: E501
+ medical_level: Optional[StrictStr] = Field(default=None, description="A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée", alias="medicalLevel")
+ name: Optional[StrictStr] = Field(default=None, description="A valoriser avec le nom de l'équipe à bord du vecteur (celui communiqué par l'organisation à laquelle l'équipe appartient)")
+ __properties: ClassVar[List[str]] = ["medicalLevel", "name"]
+
+ @field_validator('medical_level')
+ def medical_level_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['MED', 'PARAMED', 'SECOURS', 'SANS']):
+ raise ValueError("must be one of enum values ('MED', 'PARAMED', 'SECOURS', 'SANS')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Team from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Team from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "medicalLevel": obj.get("medicalLevel"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/documentlink/models/document_link.py b/generator_python/package/src/hubsante_model/documentlink/models/document_link.py
index fd0a6949f8..175f2559b6 100644
--- a/generator_python/package/src/hubsante_model/documentlink/models/document_link.py
+++ b/generator_python/package/src/hubsante_model/documentlink/models/document_link.py
@@ -37,8 +37,8 @@ class DocumentLink(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('patient_id')
@@ -47,8 +47,8 @@ def patient_id_validate_regular_expression(cls, value):
if value is None:
return value
- if not re.match(r"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
model_config = ConfigDict(
diff --git a/generator_python/package/src/hubsante_model/geolocation/models/position.py b/generator_python/package/src/hubsante_model/geolocation/models/position.py
index 828aa42d87..952f06dd50 100644
--- a/generator_python/package/src/hubsante_model/geolocation/models/position.py
+++ b/generator_python/package/src/hubsante_model/geolocation/models/position.py
@@ -33,7 +33,7 @@ class Position(BaseModel):
datetime: str = Field(description="Date et heure de réception des coordonnées transmises")
coord: Coord
speed: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Vitesse de la ressource enregistrée, exprimée en km/h")
- cap: Optional[StrictStr] = Field(default=None, description="Direction de la ressource, exprimé en degrés")
+ cap: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Direction de la ressource, exprimé en degrés")
move: Optional[StrictStr] = Field(default=None, description="Indique si la ressource est en mouvement (MOBILE) ou non (STATIQUE)")
engine_on: Optional[StrictBool] = Field(default=None, description="Indique si le moteur de la ressource est éteint (FAUX) ou allumé/en marche (VRAI)", alias="engineOn")
ground_status: Optional[StrictBool] = Field(default=None, description="Indique si l'hélicoptÚre est au sol (VRAI) ou en l'air (FAUX)", alias="groundStatus")
@@ -44,8 +44,8 @@ class Position(BaseModel):
@field_validator('resource_id')
def resource_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('datetime')
diff --git a/generator_python/package/src/hubsante_model/geolocation/models/resource.py b/generator_python/package/src/hubsante_model/geolocation/models/resource.py
index 48638a6d54..d9ad818886 100644
--- a/generator_python/package/src/hubsante_model/geolocation/models/resource.py
+++ b/generator_python/package/src/hubsante_model/geolocation/models/resource.py
@@ -41,8 +41,8 @@ class Resource(BaseModel):
@field_validator('resource_id')
def resource_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('resource_type')
diff --git a/generator_python/package/src/hubsante_model/health/models/create_case_health.py b/generator_python/package/src/hubsante_model/health/models/create_case_health.py
index b2c491fe8f..d13207ba0d 100644
--- a/generator_python/package/src/hubsante_model/health/models/create_case_health.py
+++ b/generator_python/package/src/hubsante_model/health/models/create_case_health.py
@@ -53,8 +53,8 @@ class CreateCaseHealth(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('creation')
@@ -87,8 +87,8 @@ def intervention_type_validate_enum(cls, value):
@field_validator('owner')
def owner_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,9}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,9}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,9}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,9}$/")
return value
model_config = ConfigDict(
diff --git a/generator_python/package/src/hubsante_model/health/models/medical_note.py b/generator_python/package/src/hubsante_model/health/models/medical_note.py
index 44809cc6b2..3836a2aaa3 100644
--- a/generator_python/package/src/hubsante_model/health/models/medical_note.py
+++ b/generator_python/package/src/hubsante_model/health/models/medical_note.py
@@ -42,15 +42,15 @@ def patient_id_validate_regular_expression(cls, value):
if value is None:
return value
- if not re.match(r"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('medical_note_id')
def medical_note_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}medicalNote(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}medicalNote(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}medicalNote(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}medicalNote(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('creation')
diff --git a/generator_python/package/src/hubsante_model/health/models/patient.py b/generator_python/package/src/hubsante_model/health/models/patient.py
index a4a8462399..557899f85d 100644
--- a/generator_python/package/src/hubsante_model/health/models/patient.py
+++ b/generator_python/package/src/hubsante_model/health/models/patient.py
@@ -41,8 +41,8 @@ class Patient(BaseModel):
@field_validator('patient_id')
def patient_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
model_config = ConfigDict(
diff --git a/generator_python/package/src/hubsante_model/interventionreport/models/intervention_report.py b/generator_python/package/src/hubsante_model/interventionreport/models/intervention_report.py
index 632ed873fa..ee7e37c8a3 100644
--- a/generator_python/package/src/hubsante_model/interventionreport/models/intervention_report.py
+++ b/generator_python/package/src/hubsante_model/interventionreport/models/intervention_report.py
@@ -42,8 +42,8 @@ class InterventionReport(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('creation')
diff --git a/generator_python/package/src/hubsante_model/interventionreport/models/patient.py b/generator_python/package/src/hubsante_model/interventionreport/models/patient.py
index 648d82173f..de4382efc2 100644
--- a/generator_python/package/src/hubsante_model/interventionreport/models/patient.py
+++ b/generator_python/package/src/hubsante_model/interventionreport/models/patient.py
@@ -43,8 +43,8 @@ class Patient(BaseModel):
@field_validator('patient_id')
def patient_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('sex')
diff --git a/generator_python/package/src/hubsante_model/resources/info/models/resource.py b/generator_python/package/src/hubsante_model/resources/info/models/resource.py
index 4e4a4f41a1..a3a3641f7b 100644
--- a/generator_python/package/src/hubsante_model/resources/info/models/resource.py
+++ b/generator_python/package/src/hubsante_model/resources/info/models/resource.py
@@ -57,8 +57,8 @@ def datetime_validate_regular_expression(cls, value):
@field_validator('resource_id')
def resource_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('request_id')
@@ -67,8 +67,8 @@ def request_id_validate_regular_expression(cls, value):
if value is None:
return value
- if not re.match(r"^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('vehicle_type')
diff --git a/generator_python/package/src/hubsante_model/resources/info/models/resources_info.py b/generator_python/package/src/hubsante_model/resources/info/models/resources_info.py
index bd7ec854b9..5ea4087fbb 100644
--- a/generator_python/package/src/hubsante_model/resources/info/models/resources_info.py
+++ b/generator_python/package/src/hubsante_model/resources/info/models/resources_info.py
@@ -35,8 +35,8 @@ class ResourcesInfo(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
model_config = ConfigDict(
diff --git a/generator_python/package/src/hubsante_model/resources/request/models/request.py b/generator_python/package/src/hubsante_model/resources/request/models/request.py
index 99cffdabdb..55ae5e63eb 100644
--- a/generator_python/package/src/hubsante_model/resources/request/models/request.py
+++ b/generator_python/package/src/hubsante_model/resources/request/models/request.py
@@ -39,8 +39,8 @@ class Request(BaseModel):
@field_validator('request_id')
def request_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
@field_validator('datetime')
diff --git a/generator_python/package/src/hubsante_model/resources/request/models/resources_request.py b/generator_python/package/src/hubsante_model/resources/request/models/resources_request.py
index d823033f6f..8745784954 100644
--- a/generator_python/package/src/hubsante_model/resources/request/models/resources_request.py
+++ b/generator_python/package/src/hubsante_model/resources/request/models/resources_request.py
@@ -36,8 +36,8 @@ class ResourcesRequest(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('status')
diff --git a/generator_python/package/src/hubsante_model/resources/response/models/resources_response.py b/generator_python/package/src/hubsante_model/resources/response/models/resources_response.py
index 3e4efb8f4e..7e70030824 100644
--- a/generator_python/package/src/hubsante_model/resources/response/models/resources_response.py
+++ b/generator_python/package/src/hubsante_model/resources/response/models/resources_response.py
@@ -36,15 +36,15 @@ class ResourcesResponse(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('request_id')
def request_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
model_config = ConfigDict(
diff --git a/generator_python/package/src/hubsante_model/resources/status/models/resources_status.py b/generator_python/package/src/hubsante_model/resources/status/models/resources_status.py
index 710d0ba50a..fa2354fb0a 100644
--- a/generator_python/package/src/hubsante_model/resources/status/models/resources_status.py
+++ b/generator_python/package/src/hubsante_model/resources/status/models/resources_status.py
@@ -36,15 +36,15 @@ class ResourcesStatus(BaseModel):
@field_validator('case_id')
def case_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('resource_id')
def resource_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/")
return value
model_config = ConfigDict(
diff --git a/generator_python/package/src/hubsante_model/rpis/models/event.py b/generator_python/package/src/hubsante_model/rpis/models/event.py
index c12bac0e67..627743cbbc 100644
--- a/generator_python/package/src/hubsante_model/rpis/models/event.py
+++ b/generator_python/package/src/hubsante_model/rpis/models/event.py
@@ -40,8 +40,8 @@ class Event(BaseModel):
@field_validator('org_id')
def org_id_validate_regular_expression(cls, value):
"""Validates the regular expression"""
- if not re.match(r"^([\w-]+\.?){4,10}$", value):
- raise ValueError(r"must validate the regular expression /^([\w-]+\.?){4,10}$/")
+ if not re.match(r"^([a-zA-Z0-9_-]+\.?){4,10}$", value):
+ raise ValueError(r"must validate the regular expression /^([a-zA-Z0-9_-]+\.?){4,10}$/")
return value
@field_validator('creation_date')
diff --git a/generator_python/package/src/hubsante_model/rpis/models/whats_happen.py b/generator_python/package/src/hubsante_model/rpis/models/whats_happen.py
index 861835b631..107e043b87 100644
--- a/generator_python/package/src/hubsante_model/rpis/models/whats_happen.py
+++ b/generator_python/package/src/hubsante_model/rpis/models/whats_happen.py
@@ -33,8 +33,8 @@ class WhatsHappen(BaseModel):
@field_validator('code')
def code_validate_enum(cls, value):
"""Validates the enum"""
- if value not in set(['C01.00.00', 'C01.01.00', 'C01.01.01', 'C01.01.02', 'C01.01.03', 'C01.01.04', 'C01.01.05', 'C01.01.06', 'C01.02.00', 'C01.02.01', 'C01.02.02', 'C01.03.00', 'C01.03.01', 'C01.03.02', 'C01.04.00', 'C01.04.01', 'C01.04.02', 'C01.04.03', 'C01.04.04', 'C01.05.00', 'C02.00.00', 'C02.01.00', 'C02.02.00', 'C02.03.00', 'C02.03.01', 'C02.03.02', 'C02.04.00', 'C02.04.01', 'C02.04.02', 'C02.04.03', 'C02.05.00', 'C02.05.01', 'C02.05.02', 'C02.05.03', 'C02.06.00', 'C02.06.01', 'C02.07.00', 'C02.07.01', 'C02.07.02', 'C02.07.03', 'C02.07.04', 'C02.07.05', 'C02.08.00', 'C02.08.01', 'C02.08.02', 'C02.08.03', 'C02.08.04', 'C02.08.05', 'C02.08.06', 'C02.08.07', 'C02.08.08', 'C02.09.00', 'C02.09.01', 'C02.09.02', 'C02.09.03', 'C02.09.04', 'C02.09.05', 'C02.09.06', 'C02.09.07', 'C02.10.00', 'C02.11.00', 'C02.11.01', 'C02.11.02', 'C02.12.00', 'C02.13.00', 'C02.13.01', 'C02.13.02', 'C02.13.03', 'C02.13.04', 'C02.13.05', 'C02.13.06', 'C02.13.07', 'C02.13.08', 'C02.14.00', 'C02.14.01', 'C02.14.02', 'C02.14.03', 'C02.14.04', 'C02.15.00', 'C02.15.01', 'C02.15.02', 'C02.15.03', 'C02.15.04', 'C02.15.05', 'C02.15.06', 'C02.16.00', 'C02.16.01', 'C02.16.02', 'C02.16.03', 'C07.03.00', 'C07.03.01', 'C07.03.02', 'C07.03.03', 'C07.03.04', 'C07.03.05', 'C03.00.00', 'C03.01.00', 'C03.01.01', 'C03.01.02', 'C03.01.03', 'C03.01.04', 'C03.01.05', 'C03.02.00', 'C03.02.01', 'C03.02.02', 'C03.02.03', 'C03.02.04', 'C03.02.05', 'C03.02.06', 'C03.02.07', 'C03.02.08', 'C03.02.09', 'C03.02.10', 'C03.02.11', 'C03.02.12', 'C03.02.13', 'C03.02.14', 'C03.02.15', 'C03.03.00', 'C03.03.01', 'C03.03.02', 'C03.04.00', 'C03.04.01', 'C03.04.02', 'C03.05.00', 'C03.06.00', 'C03.07.00', 'C03.08.00', 'C03.09.00', 'C03.10.00', 'C03.11.00', 'C03.12.00', 'C03.13.00', 'C03.14.00', 'C03.15.00', 'C04.00.00', 'C04.01.00', 'C04.01.01', 'C04.01.02', 'C04.01.03', 'C04.01.04', 'C04.01.05', 'C04.01.06', 'C04.01.07', 'C04.01.08', 'C04.01.09', 'C04.01.10', 'C04.01.11', 'C04.02.00', 'C04.02.01', 'C04.02.02', 'C04.02.03', 'C04.02.04', 'C04.03.00', 'C04.04.00', 'C04.05.00', 'C04.06.00', 'C04.07.00', 'C04.07.01', 'C04.07.02', 'C04.07.03', 'C04.07.04', 'C04.08.00', 'C04.09.00', 'C05.00.00', 'C05.00.01', 'C05.00.02', 'C05.00.03', 'C05.00.04', 'C05.00.05', 'C06.00.00', 'C06.01.00', 'C06.02.00', 'C06.03.00', 'C06.03.01', 'C06.03.02', 'C06.03.03', 'C06.03.04', 'C06.03.05', 'C06.03.06', 'C06.04.00', 'C06.04.01', 'C06.04.02', 'C06.05.00', 'C06.06.00', 'C06.06.01', 'C06.07.00', 'C06.07.01', 'C06.07.02', 'C06.08.00', 'C06.08.01', 'C06.08.02', 'C06.08.03', 'C06.08.04', 'C06.08.05', 'C06.08.06', 'C07.00.00', 'C07.01.00', 'C07.02.00', 'C07.03.00', 'C07.03.01', 'C07.03.02', 'C07.03.03', 'C07.03.04', 'C07.03.05', 'C07.04.00', 'C07.04.01', 'C07.04.02', 'C07.04.03', 'C07.04.04', 'C07.05.00', 'C07.06.00', 'C07.07.00', 'C07.07.01', 'C07.07.02', 'C07.07.03', 'C07.07.04', 'C07.07.05', 'C07.08.00', 'C07.08.01', 'C07.08.02', 'C07.08.03', 'C07.09.00', 'C07.09.01', 'C07.09.02', 'C07.09.03', 'C07.09.05', 'C07.10.00', 'C07.11.00', 'C07.12.00', 'C07.13.00', 'C07.13.01', 'C07.13.02', 'C07.13.03', 'C07.13.04', 'C07.13.05', 'C07.13.06', 'C07.13.07', 'C08.00.00', 'C08.01.00', 'C08.02.00', 'C08.03.00', 'C08.04.00', 'C08.05.00', 'C08.06.00', 'C08.07.00', 'C08.08.00', 'C08.08.01', 'C08.08.02', 'C08.09.00', 'C08.10.00', 'C08.10.01', 'C09.00.00', 'C09.01.00', 'C09.01.01', 'C09.01.02', 'C09.01.03', 'C09.01.04', 'C09.02.00', 'C09.03.00', 'C09.03.01', 'C09.04.00', 'C09.04.01', 'C09.04.02', 'C09.05.00', 'C09.06.00', 'C09.07.00', 'C09.08.00', 'C10.00.00', 'C10.01.00', 'C10.01.01', 'C10.01.02', 'C10.01.03', 'C10.01.04', 'C10.01.05', 'C10.01.06', 'C10.01.07', 'C10.01.08', 'C10.02.00', 'C10.02.01', 'C10.02.02', 'C10.03.00', 'C10.03.01', 'C10.03.02', 'C10.04.00', 'C10.04.01', 'C10.04.02', 'C10.05.00', 'C10.06.00', 'C10.07.00', 'C10.08.00', 'C11.00.00', 'C11.01.00', 'C11.02.00', 'C11.02.01', 'C11.02.02', 'C11.03.00', 'C11.03.01', 'C11.03.02', 'C11.04.00', 'C11.05.00', 'C11.05.01', 'C11.05.02', 'C11.05.03', 'C11.06.00']):
- raise ValueError("must be one of enum values ('C01.00.00', 'C01.01.00', 'C01.01.01', 'C01.01.02', 'C01.01.03', 'C01.01.04', 'C01.01.05', 'C01.01.06', 'C01.02.00', 'C01.02.01', 'C01.02.02', 'C01.03.00', 'C01.03.01', 'C01.03.02', 'C01.04.00', 'C01.04.01', 'C01.04.02', 'C01.04.03', 'C01.04.04', 'C01.05.00', 'C02.00.00', 'C02.01.00', 'C02.02.00', 'C02.03.00', 'C02.03.01', 'C02.03.02', 'C02.04.00', 'C02.04.01', 'C02.04.02', 'C02.04.03', 'C02.05.00', 'C02.05.01', 'C02.05.02', 'C02.05.03', 'C02.06.00', 'C02.06.01', 'C02.07.00', 'C02.07.01', 'C02.07.02', 'C02.07.03', 'C02.07.04', 'C02.07.05', 'C02.08.00', 'C02.08.01', 'C02.08.02', 'C02.08.03', 'C02.08.04', 'C02.08.05', 'C02.08.06', 'C02.08.07', 'C02.08.08', 'C02.09.00', 'C02.09.01', 'C02.09.02', 'C02.09.03', 'C02.09.04', 'C02.09.05', 'C02.09.06', 'C02.09.07', 'C02.10.00', 'C02.11.00', 'C02.11.01', 'C02.11.02', 'C02.12.00', 'C02.13.00', 'C02.13.01', 'C02.13.02', 'C02.13.03', 'C02.13.04', 'C02.13.05', 'C02.13.06', 'C02.13.07', 'C02.13.08', 'C02.14.00', 'C02.14.01', 'C02.14.02', 'C02.14.03', 'C02.14.04', 'C02.15.00', 'C02.15.01', 'C02.15.02', 'C02.15.03', 'C02.15.04', 'C02.15.05', 'C02.15.06', 'C02.16.00', 'C02.16.01', 'C02.16.02', 'C02.16.03', 'C07.03.00', 'C07.03.01', 'C07.03.02', 'C07.03.03', 'C07.03.04', 'C07.03.05', 'C03.00.00', 'C03.01.00', 'C03.01.01', 'C03.01.02', 'C03.01.03', 'C03.01.04', 'C03.01.05', 'C03.02.00', 'C03.02.01', 'C03.02.02', 'C03.02.03', 'C03.02.04', 'C03.02.05', 'C03.02.06', 'C03.02.07', 'C03.02.08', 'C03.02.09', 'C03.02.10', 'C03.02.11', 'C03.02.12', 'C03.02.13', 'C03.02.14', 'C03.02.15', 'C03.03.00', 'C03.03.01', 'C03.03.02', 'C03.04.00', 'C03.04.01', 'C03.04.02', 'C03.05.00', 'C03.06.00', 'C03.07.00', 'C03.08.00', 'C03.09.00', 'C03.10.00', 'C03.11.00', 'C03.12.00', 'C03.13.00', 'C03.14.00', 'C03.15.00', 'C04.00.00', 'C04.01.00', 'C04.01.01', 'C04.01.02', 'C04.01.03', 'C04.01.04', 'C04.01.05', 'C04.01.06', 'C04.01.07', 'C04.01.08', 'C04.01.09', 'C04.01.10', 'C04.01.11', 'C04.02.00', 'C04.02.01', 'C04.02.02', 'C04.02.03', 'C04.02.04', 'C04.03.00', 'C04.04.00', 'C04.05.00', 'C04.06.00', 'C04.07.00', 'C04.07.01', 'C04.07.02', 'C04.07.03', 'C04.07.04', 'C04.08.00', 'C04.09.00', 'C05.00.00', 'C05.00.01', 'C05.00.02', 'C05.00.03', 'C05.00.04', 'C05.00.05', 'C06.00.00', 'C06.01.00', 'C06.02.00', 'C06.03.00', 'C06.03.01', 'C06.03.02', 'C06.03.03', 'C06.03.04', 'C06.03.05', 'C06.03.06', 'C06.04.00', 'C06.04.01', 'C06.04.02', 'C06.05.00', 'C06.06.00', 'C06.06.01', 'C06.07.00', 'C06.07.01', 'C06.07.02', 'C06.08.00', 'C06.08.01', 'C06.08.02', 'C06.08.03', 'C06.08.04', 'C06.08.05', 'C06.08.06', 'C07.00.00', 'C07.01.00', 'C07.02.00', 'C07.03.00', 'C07.03.01', 'C07.03.02', 'C07.03.03', 'C07.03.04', 'C07.03.05', 'C07.04.00', 'C07.04.01', 'C07.04.02', 'C07.04.03', 'C07.04.04', 'C07.05.00', 'C07.06.00', 'C07.07.00', 'C07.07.01', 'C07.07.02', 'C07.07.03', 'C07.07.04', 'C07.07.05', 'C07.08.00', 'C07.08.01', 'C07.08.02', 'C07.08.03', 'C07.09.00', 'C07.09.01', 'C07.09.02', 'C07.09.03', 'C07.09.05', 'C07.10.00', 'C07.11.00', 'C07.12.00', 'C07.13.00', 'C07.13.01', 'C07.13.02', 'C07.13.03', 'C07.13.04', 'C07.13.05', 'C07.13.06', 'C07.13.07', 'C08.00.00', 'C08.01.00', 'C08.02.00', 'C08.03.00', 'C08.04.00', 'C08.05.00', 'C08.06.00', 'C08.07.00', 'C08.08.00', 'C08.08.01', 'C08.08.02', 'C08.09.00', 'C08.10.00', 'C08.10.01', 'C09.00.00', 'C09.01.00', 'C09.01.01', 'C09.01.02', 'C09.01.03', 'C09.01.04', 'C09.02.00', 'C09.03.00', 'C09.03.01', 'C09.04.00', 'C09.04.01', 'C09.04.02', 'C09.05.00', 'C09.06.00', 'C09.07.00', 'C09.08.00', 'C10.00.00', 'C10.01.00', 'C10.01.01', 'C10.01.02', 'C10.01.03', 'C10.01.04', 'C10.01.05', 'C10.01.06', 'C10.01.07', 'C10.01.08', 'C10.02.00', 'C10.02.01', 'C10.02.02', 'C10.03.00', 'C10.03.01', 'C10.03.02', 'C10.04.00', 'C10.04.01', 'C10.04.02', 'C10.05.00', 'C10.06.00', 'C10.07.00', 'C10.08.00', 'C11.00.00', 'C11.01.00', 'C11.02.00', 'C11.02.01', 'C11.02.02', 'C11.03.00', 'C11.03.01', 'C11.03.02', 'C11.04.00', 'C11.05.00', 'C11.05.01', 'C11.05.02', 'C11.05.03', 'C11.06.00')")
+ if value not in set(['C01.00.00', 'C01.01.00', 'C01.01.01', 'C01.01.02', 'C01.01.03', 'C01.01.04', 'C01.01.05', 'C01.01.06', 'C01.02.00', 'C01.02.01', 'C01.02.02', 'C01.03.00', 'C01.03.01', 'C01.03.02', 'C01.04.00', 'C01.04.01', 'C01.04.02', 'C01.04.03', 'C01.04.04', 'C01.05.00', 'C02.00.00', 'C02.01.00', 'C02.02.00', 'C02.03.00', 'C02.03.01', 'C02.03.02', 'C02.04.00', 'C02.04.01', 'C02.04.02', 'C02.04.03', 'C02.05.00', 'C02.05.01', 'C02.05.02', 'C02.05.03', 'C02.06.00', 'C02.06.01', 'C02.07.00', 'C02.07.01', 'C02.07.02', 'C02.07.03', 'C02.07.04', 'C02.07.05', 'C02.08.00', 'C02.08.01', 'C02.08.02', 'C02.08.03', 'C02.08.04', 'C02.08.05', 'C02.08.06', 'C02.08.07', 'C02.08.08', 'C02.09.00', 'C02.09.01', 'C02.09.02', 'C02.09.03', 'C02.09.04', 'C02.09.05', 'C02.09.06', 'C02.09.07', 'C02.10.00', 'C02.11.00', 'C02.11.01', 'C02.11.02', 'C02.12.00', 'C02.13.00', 'C02.13.01', 'C02.13.02', 'C02.13.03', 'C02.13.04', 'C02.13.05', 'C02.13.06', 'C02.13.07', 'C02.13.08', 'C02.14.00', 'C02.14.01', 'C02.14.02', 'C02.14.03', 'C02.14.04', 'C02.15.00', 'C02.15.01', 'C02.15.02', 'C02.15.03', 'C02.15.04', 'C02.15.05', 'C02.15.06', 'C02.16.00', 'C02.16.01', 'C02.16.02', 'C02.16.03', 'C03.00.00', 'C03.01.00', 'C03.01.01', 'C03.01.02', 'C03.01.03', 'C03.01.04', 'C03.01.05', 'C03.02.00', 'C03.02.01', 'C03.02.02', 'C03.02.03', 'C03.02.04', 'C03.02.05', 'C03.02.06', 'C03.02.07', 'C03.02.08', 'C03.02.09', 'C03.02.10', 'C03.02.11', 'C03.02.12', 'C03.02.13', 'C03.02.14', 'C03.02.15', 'C03.03.00', 'C03.03.01', 'C03.03.02', 'C03.04.00', 'C03.04.01', 'C03.04.02', 'C03.05.00', 'C03.06.00', 'C03.07.00', 'C03.08.00', 'C03.09.00', 'C03.10.00', 'C03.11.00', 'C03.12.00', 'C03.13.00', 'C03.14.00', 'C03.15.00', 'C04.00.00', 'C04.01.00', 'C04.01.01', 'C04.01.02', 'C04.01.03', 'C04.01.04', 'C04.01.05', 'C04.01.06', 'C04.01.07', 'C04.01.08', 'C04.01.09', 'C04.01.10', 'C04.01.11', 'C04.02.00', 'C04.02.01', 'C04.02.02', 'C04.02.03', 'C04.02.04', 'C04.03.00', 'C04.04.00', 'C04.05.00', 'C04.06.00', 'C04.07.00', 'C04.07.01', 'C04.07.02', 'C04.07.03', 'C04.07.04', 'C04.08.00', 'C04.09.00', 'C05.00.00', 'C05.00.01', 'C05.00.02', 'C05.00.03', 'C05.00.04', 'C05.00.05', 'C06.00.00', 'C06.01.00', 'C06.02.00', 'C06.03.00', 'C06.03.01', 'C06.03.02', 'C06.03.03', 'C06.03.04', 'C06.03.05', 'C06.03.06', 'C06.04.00', 'C06.04.01', 'C06.04.02', 'C06.05.00', 'C06.06.00', 'C06.06.01', 'C06.07.00', 'C06.07.01', 'C06.07.02', 'C06.08.00', 'C06.08.01', 'C06.08.02', 'C06.08.03', 'C06.08.04', 'C06.08.05', 'C06.08.06', 'C07.00.00', 'C07.01.00', 'C07.02.00', 'C07.03.00', 'C07.03.01', 'C07.03.02', 'C07.03.03', 'C07.03.04', 'C07.03.05', 'C07.04.00', 'C07.04.01', 'C07.04.02', 'C07.04.03', 'C07.04.04', 'C07.05.00', 'C07.06.00', 'C07.07.00', 'C07.07.01', 'C07.07.02', 'C07.07.03', 'C07.07.04', 'C07.07.05', 'C07.08.00', 'C07.08.01', 'C07.08.02', 'C07.08.03', 'C07.09.00', 'C07.09.01', 'C07.09.02', 'C07.09.03', 'C07.09.05', 'C07.10.00', 'C07.11.00', 'C07.12.00', 'C07.13.00', 'C07.13.01', 'C07.13.02', 'C07.13.03', 'C07.13.04', 'C07.13.05', 'C07.13.06', 'C07.13.07', 'C08.00.00', 'C08.01.00', 'C08.02.00', 'C08.03.00', 'C08.04.00', 'C08.05.00', 'C08.06.00', 'C08.07.00', 'C08.08.00', 'C08.08.01', 'C08.08.02', 'C08.09.00', 'C08.10.00', 'C08.10.01', 'C09.00.00', 'C09.01.00', 'C09.01.01', 'C09.01.02', 'C09.01.03', 'C09.01.04', 'C09.02.00', 'C09.03.00', 'C09.03.01', 'C09.04.00', 'C09.04.01', 'C09.04.02', 'C09.05.00', 'C09.06.00', 'C09.07.00', 'C09.08.00', 'C10.00.00', 'C10.01.00', 'C10.01.01', 'C10.01.02', 'C10.01.03', 'C10.01.04', 'C10.01.05', 'C10.01.06', 'C10.01.07', 'C10.01.08', 'C10.02.00', 'C10.02.01', 'C10.02.02', 'C10.03.00', 'C10.03.01', 'C10.03.02', 'C10.04.00', 'C10.04.01', 'C10.04.02', 'C10.05.00', 'C10.06.00', 'C10.07.00', 'C10.08.00', 'C11.00.00', 'C11.01.00', 'C11.02.00', 'C11.02.01', 'C11.02.02', 'C11.03.00', 'C11.03.01', 'C11.03.02', 'C11.04.00', 'C11.05.00', 'C11.05.01', 'C11.05.02', 'C11.05.03', 'C11.06.00']):
+ raise ValueError("must be one of enum values ('C01.00.00', 'C01.01.00', 'C01.01.01', 'C01.01.02', 'C01.01.03', 'C01.01.04', 'C01.01.05', 'C01.01.06', 'C01.02.00', 'C01.02.01', 'C01.02.02', 'C01.03.00', 'C01.03.01', 'C01.03.02', 'C01.04.00', 'C01.04.01', 'C01.04.02', 'C01.04.03', 'C01.04.04', 'C01.05.00', 'C02.00.00', 'C02.01.00', 'C02.02.00', 'C02.03.00', 'C02.03.01', 'C02.03.02', 'C02.04.00', 'C02.04.01', 'C02.04.02', 'C02.04.03', 'C02.05.00', 'C02.05.01', 'C02.05.02', 'C02.05.03', 'C02.06.00', 'C02.06.01', 'C02.07.00', 'C02.07.01', 'C02.07.02', 'C02.07.03', 'C02.07.04', 'C02.07.05', 'C02.08.00', 'C02.08.01', 'C02.08.02', 'C02.08.03', 'C02.08.04', 'C02.08.05', 'C02.08.06', 'C02.08.07', 'C02.08.08', 'C02.09.00', 'C02.09.01', 'C02.09.02', 'C02.09.03', 'C02.09.04', 'C02.09.05', 'C02.09.06', 'C02.09.07', 'C02.10.00', 'C02.11.00', 'C02.11.01', 'C02.11.02', 'C02.12.00', 'C02.13.00', 'C02.13.01', 'C02.13.02', 'C02.13.03', 'C02.13.04', 'C02.13.05', 'C02.13.06', 'C02.13.07', 'C02.13.08', 'C02.14.00', 'C02.14.01', 'C02.14.02', 'C02.14.03', 'C02.14.04', 'C02.15.00', 'C02.15.01', 'C02.15.02', 'C02.15.03', 'C02.15.04', 'C02.15.05', 'C02.15.06', 'C02.16.00', 'C02.16.01', 'C02.16.02', 'C02.16.03', 'C03.00.00', 'C03.01.00', 'C03.01.01', 'C03.01.02', 'C03.01.03', 'C03.01.04', 'C03.01.05', 'C03.02.00', 'C03.02.01', 'C03.02.02', 'C03.02.03', 'C03.02.04', 'C03.02.05', 'C03.02.06', 'C03.02.07', 'C03.02.08', 'C03.02.09', 'C03.02.10', 'C03.02.11', 'C03.02.12', 'C03.02.13', 'C03.02.14', 'C03.02.15', 'C03.03.00', 'C03.03.01', 'C03.03.02', 'C03.04.00', 'C03.04.01', 'C03.04.02', 'C03.05.00', 'C03.06.00', 'C03.07.00', 'C03.08.00', 'C03.09.00', 'C03.10.00', 'C03.11.00', 'C03.12.00', 'C03.13.00', 'C03.14.00', 'C03.15.00', 'C04.00.00', 'C04.01.00', 'C04.01.01', 'C04.01.02', 'C04.01.03', 'C04.01.04', 'C04.01.05', 'C04.01.06', 'C04.01.07', 'C04.01.08', 'C04.01.09', 'C04.01.10', 'C04.01.11', 'C04.02.00', 'C04.02.01', 'C04.02.02', 'C04.02.03', 'C04.02.04', 'C04.03.00', 'C04.04.00', 'C04.05.00', 'C04.06.00', 'C04.07.00', 'C04.07.01', 'C04.07.02', 'C04.07.03', 'C04.07.04', 'C04.08.00', 'C04.09.00', 'C05.00.00', 'C05.00.01', 'C05.00.02', 'C05.00.03', 'C05.00.04', 'C05.00.05', 'C06.00.00', 'C06.01.00', 'C06.02.00', 'C06.03.00', 'C06.03.01', 'C06.03.02', 'C06.03.03', 'C06.03.04', 'C06.03.05', 'C06.03.06', 'C06.04.00', 'C06.04.01', 'C06.04.02', 'C06.05.00', 'C06.06.00', 'C06.06.01', 'C06.07.00', 'C06.07.01', 'C06.07.02', 'C06.08.00', 'C06.08.01', 'C06.08.02', 'C06.08.03', 'C06.08.04', 'C06.08.05', 'C06.08.06', 'C07.00.00', 'C07.01.00', 'C07.02.00', 'C07.03.00', 'C07.03.01', 'C07.03.02', 'C07.03.03', 'C07.03.04', 'C07.03.05', 'C07.04.00', 'C07.04.01', 'C07.04.02', 'C07.04.03', 'C07.04.04', 'C07.05.00', 'C07.06.00', 'C07.07.00', 'C07.07.01', 'C07.07.02', 'C07.07.03', 'C07.07.04', 'C07.07.05', 'C07.08.00', 'C07.08.01', 'C07.08.02', 'C07.08.03', 'C07.09.00', 'C07.09.01', 'C07.09.02', 'C07.09.03', 'C07.09.05', 'C07.10.00', 'C07.11.00', 'C07.12.00', 'C07.13.00', 'C07.13.01', 'C07.13.02', 'C07.13.03', 'C07.13.04', 'C07.13.05', 'C07.13.06', 'C07.13.07', 'C08.00.00', 'C08.01.00', 'C08.02.00', 'C08.03.00', 'C08.04.00', 'C08.05.00', 'C08.06.00', 'C08.07.00', 'C08.08.00', 'C08.08.01', 'C08.08.02', 'C08.09.00', 'C08.10.00', 'C08.10.01', 'C09.00.00', 'C09.01.00', 'C09.01.01', 'C09.01.02', 'C09.01.03', 'C09.01.04', 'C09.02.00', 'C09.03.00', 'C09.03.01', 'C09.04.00', 'C09.04.01', 'C09.04.02', 'C09.05.00', 'C09.06.00', 'C09.07.00', 'C09.08.00', 'C10.00.00', 'C10.01.00', 'C10.01.01', 'C10.01.02', 'C10.01.03', 'C10.01.04', 'C10.01.05', 'C10.01.06', 'C10.01.07', 'C10.01.08', 'C10.02.00', 'C10.02.01', 'C10.02.02', 'C10.03.00', 'C10.03.01', 'C10.03.02', 'C10.04.00', 'C10.04.01', 'C10.04.02', 'C10.05.00', 'C10.06.00', 'C10.07.00', 'C10.08.00', 'C11.00.00', 'C11.01.00', 'C11.02.00', 'C11.02.01', 'C11.02.02', 'C11.03.00', 'C11.03.01', 'C11.03.02', 'C11.04.00', 'C11.05.00', 'C11.05.01', 'C11.05.02', 'C11.05.03', 'C11.06.00')")
return value
model_config = ConfigDict(
diff --git a/generator_python/package/src/hubsante_model/sas/models/appointment.py b/generator_python/package/src/hubsante_model/sas/models/appointment.py
new file mode 100644
index 0000000000..928087e0cd
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/sas/models/appointment.py
@@ -0,0 +1,166 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from hubsante_model.sas.models.organization import Organization
+from hubsante_model.sas.models.practitioner import Practitioner
+from hubsante_model.sas.models.regulator import Regulator
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Appointment(BaseModel):
+ """
+ Appointment
+ """ # noqa: E501
+ appointment_id: StrictStr = Field(description="Un identifiant technique unique par RDV est transmis. Cet identifiant est dĂ©fini par la plateforme numĂ©rique SAS et peut prendre la forme dâun UUID par exemple. La solution Ă©diteur devra sâappuyer sur cet ID pour la gestion des requĂȘtes de mises Ă jour.", alias="appointmentId")
+ method: StrictStr = Field(description="Indique un message de création ou de modification du rendez-vous")
+ created: str = Field(description="Indique la date et lâheure de la prise de RDV")
+ start: str = Field(description="Indique la date et lâhoraire de dĂ©but du rendez-vous")
+ end: Optional[str] = Field(default=None, description="Indique la date et lâhoraire de fin du rendez-vous")
+ status: StrictStr = Field(description="Indique le statut du rendez-vous")
+ orientation_category: Optional[StrictStr] = Field(default=None, description="Indique la catĂ©gorie de lâorientation de rendez-vous", alias="orientationCategory")
+ practitioner: Optional[Practitioner] = None
+ organization: Optional[Organization] = None
+ regulator: Regulator
+ __properties: ClassVar[List[str]] = ["appointmentId", "method", "created", "start", "end", "status", "orientationCategory", "practitioner", "organization", "regulator"]
+
+ @field_validator('method')
+ def method_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['CreateAppointment', 'UpdateAppointment']):
+ raise ValueError("must be one of enum values ('CreateAppointment', 'UpdateAppointment')")
+ return value
+
+ @field_validator('created')
+ def created_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", value):
+ raise ValueError(r"must validate the regular expression /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/")
+ return value
+
+ @field_validator('start')
+ def start_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", value):
+ raise ValueError(r"must validate the regular expression /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/")
+ return value
+
+ @field_validator('end')
+ def end_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not re.match(r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", value):
+ raise ValueError(r"must validate the regular expression /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/")
+ return value
+
+ @field_validator('status')
+ def status_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['pending', 'booked', 'fulfilled', 'noshow', 'cancelled']):
+ raise ValueError("must be one of enum values ('pending', 'booked', 'fulfilled', 'noshow', 'cancelled')")
+ return value
+
+ @field_validator('orientation_category')
+ def orientation_category_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['CPTS', 'MSP', 'CDS', 'SOS', 'PS', 'PDM']):
+ raise ValueError("must be one of enum values ('CPTS', 'MSP', 'CDS', 'SOS', 'PS', 'PDM')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Appointment from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of practitioner
+ if self.practitioner:
+ _dict['practitioner'] = self.practitioner.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of organization
+ if self.organization:
+ _dict['organization'] = self.organization.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of regulator
+ if self.regulator:
+ _dict['regulator'] = self.regulator.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Appointment from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "appointmentId": obj.get("appointmentId"),
+ "method": obj.get("method"),
+ "created": obj.get("created"),
+ "start": obj.get("start"),
+ "end": obj.get("end"),
+ "status": obj.get("status"),
+ "orientationCategory": obj.get("orientationCategory"),
+ "practitioner": Practitioner.from_dict(obj["practitioner"]) if obj.get("practitioner") is not None else None,
+ "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None,
+ "regulator": Regulator.from_dict(obj["regulator"]) if obj.get("regulator") is not None else None
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/sas/models/appointment_wrapper.py b/generator_python/package/src/hubsante_model/sas/models/appointment_wrapper.py
new file mode 100644
index 0000000000..70fb121c0f
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/sas/models/appointment_wrapper.py
@@ -0,0 +1,91 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from hubsante_model.sas.models.appointment import Appointment
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AppointmentWrapper(BaseModel):
+ """
+ AppointmentWrapper
+ """ # noqa: E501
+ appointment: Appointment
+ __properties: ClassVar[List[str]] = ["appointment"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AppointmentWrapper from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of appointment
+ if self.appointment:
+ _dict['appointment'] = self.appointment.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AppointmentWrapper from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "appointment": Appointment.from_dict(obj["appointment"]) if obj.get("appointment") is not None else None
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/sas/models/organization.py b/generator_python/package/src/hubsante_model/sas/models/organization.py
new file mode 100644
index 0000000000..0bfc611569
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/sas/models/organization.py
@@ -0,0 +1,89 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Organization(BaseModel):
+ """
+ Organization
+ """ # noqa: E501
+ organization_id: StrictStr = Field(description="Indique l'identifiant national de la structure", alias="organizationId")
+ name: StrictStr = Field(description="Indique le nom de la structure")
+ __properties: ClassVar[List[str]] = ["organizationId", "name"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Organization from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Organization from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "organizationId": obj.get("organizationId"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/sas/models/practitioner.py b/generator_python/package/src/hubsante_model/sas/models/practitioner.py
new file mode 100644
index 0000000000..556eb5f779
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/sas/models/practitioner.py
@@ -0,0 +1,107 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Practitioner(BaseModel):
+ """
+ Practitioner
+ """ # noqa: E501
+ rpps_id: Annotated[str, Field(strict=True)] = Field(description="Identifiant national (RPPS) du PS", alias="rppsId")
+ last_name: StrictStr = Field(description="Nom du professionnel de santé", alias="lastName")
+ first_name: StrictStr = Field(description="Prénom du professionnel de santé", alias="firstName")
+ speciality_code: Optional[StrictStr] = Field(default=None, description="Code de la spécialité du professionnel de santé", alias="specialityCode")
+ speciality_url: Optional[StrictStr] = Field(default=None, description="Url de la terminologie utilisée pour la spécialité", alias="specialityUrl")
+ profession_code: Optional[StrictStr] = Field(default=None, description="Code de la profession du professionnel de santé", alias="professionCode")
+ profession_url: Optional[StrictStr] = Field(default=None, description="Url de la terminologie utilisée pour la profession", alias="professionUrl")
+ __properties: ClassVar[List[str]] = ["rppsId", "lastName", "firstName", "specialityCode", "specialityUrl", "professionCode", "professionUrl"]
+
+ @field_validator('rpps_id')
+ def rpps_id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^81[0-9]{10}$", value):
+ raise ValueError(r"must validate the regular expression /^81[0-9]{10}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Practitioner from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Practitioner from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "rppsId": obj.get("rppsId"),
+ "lastName": obj.get("lastName"),
+ "firstName": obj.get("firstName"),
+ "specialityCode": obj.get("specialityCode"),
+ "specialityUrl": obj.get("specialityUrl"),
+ "professionCode": obj.get("professionCode"),
+ "professionUrl": obj.get("professionUrl")
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/sas/models/regulator.py b/generator_python/package/src/hubsante_model/sas/models/regulator.py
new file mode 100644
index 0000000000..03912c0332
--- /dev/null
+++ b/generator_python/package/src/hubsante_model/sas/models/regulator.py
@@ -0,0 +1,93 @@
+# coding: utf-8
+
+"""
+ OpenAPI
+
+ OpenAPI
+
+ The version of the OpenAPI document: 0.0.1
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Regulator(BaseModel):
+ """
+ Regulator
+ """ # noqa: E501
+ regulator_id: Optional[StrictStr] = Field(default=None, description="Identifiant du régulateur ayant pris le RDV", alias="regulatorId")
+ regulator_name: StrictStr = Field(description="Nom du régulateur ayant pris le RDV", alias="regulatorName")
+ regulator_firstname: StrictStr = Field(description="Prénom du régulateur ayant pris le RDV", alias="regulatorFirstname")
+ regulator_email: StrictStr = Field(description="Adresse mail du régulateur ayant pris le RDV", alias="regulatorEmail")
+ __properties: ClassVar[List[str]] = ["regulatorId", "regulatorName", "regulatorFirstname", "regulatorEmail"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Regulator from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Regulator from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "regulatorId": obj.get("regulatorId"),
+ "regulatorName": obj.get("regulatorName"),
+ "regulatorFirstname": obj.get("regulatorFirstname"),
+ "regulatorEmail": obj.get("regulatorEmail")
+ })
+ return _obj
+
+
diff --git a/generator_python/package/src/hubsante_model/technical/models/technical.py b/generator_python/package/src/hubsante_model/technical/models/technical.py
index 62333b1c14..9cf224ad8b 100644
--- a/generator_python/package/src/hubsante_model/technical/models/technical.py
+++ b/generator_python/package/src/hubsante_model/technical/models/technical.py
@@ -96,8 +96,8 @@ def email_field_validate_regular_expression(cls, value):
if value is None:
return value
- if not re.match(r"^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$", value):
- raise ValueError(r"must validate the regular expression /^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/")
+ if not re.match(r"^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$", value):
+ raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/")
return value
@field_validator('datetime_field')
diff --git a/generator_python/package/src/hubsante_model/technical/noreq/models/technical_noreq.py b/generator_python/package/src/hubsante_model/technical/noreq/models/technical_noreq.py
index 196fe58ff7..89f9e923cc 100644
--- a/generator_python/package/src/hubsante_model/technical/noreq/models/technical_noreq.py
+++ b/generator_python/package/src/hubsante_model/technical/noreq/models/technical_noreq.py
@@ -94,8 +94,8 @@ def email_field_validate_regular_expression(cls, value):
if value is None:
return value
- if not re.match(r"^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$", value):
- raise ValueError(r"must validate the regular expression /^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/")
+ if not re.match(r"^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$", value):
+ raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/")
return value
@field_validator('datetime_field')
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisu/attachment.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisu/attachment.rb
index 0ffab24cac..a54b1ff83a 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/cisu/attachment.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisu/attachment.rb
@@ -24,7 +24,7 @@ class Attachment
# Taille approximative de la ressource en kO
attr_accessor :size
- # Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([\\w-]+(\\.[\\w-]+)*)(/[\\w\\-\\.]*)*/?(\\?[^\\s]*)?
+ # Une URI, généralement une URL, qui permet d'atteindre la ressource sur Internet ou sur un réseau privé Nous suggérons d'employer le format suivant de regex (https?|ftp|file)://([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*)(/[a-zA-Z0-9_\\-\\.]*)*/?(\\?[^\\s]*)?
attr_accessor :uri
# Peut ĂȘtre utilisĂ© Ă la place de l'Ă©lĂ©ment 'URI' pour envoyer la ressource encodĂ©e en base64 pour Ă©viter des problĂšmes de transcodage (sur des double quotes qui casseraient le message, âŠ)
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisu/create_case.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisu/create_case.rb
index 54d427575a..0bac15d725 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/cisu/create_case.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisu/create_case.rb
@@ -161,7 +161,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
@@ -195,7 +195,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @creation.nil?
return false if @creation !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
return false if @reference_version.nil?
@@ -211,7 +211,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/contact.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/contact.rb
new file mode 100644
index 0000000000..86d0832307
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/contact.rb
@@ -0,0 +1,259 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Cisuresources
+ class Contact
+ # A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.
+ attr_accessor :type
+
+ # A valoriser avec la valeur de l'URI utilisée Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pays}{numéro de téléphone}
+ attr_accessor :details
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'type' => :'type',
+ :'details' => :'details'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'type' => :'String',
+ :'details' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Cisuresources::Contact` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Cisuresources::Contact`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'type')
+ self.type = attributes[:'type']
+ end
+
+ if attributes.key?(:'details')
+ self.details = attributes[:'details']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ type_validator = EnumAttributeValidator.new('String', ["EMAIL", "FAX", "MSS", "POSTAL", "RADIO", "TEL", "WEB"])
+ return false unless type_validator.valid?(@type)
+ true
+ end
+
+ # Custom attribute writer method checking allowed values (enum).
+ # @param [Object] type Object to be assigned
+ def type=(type)
+ validator = EnumAttributeValidator.new('String', ["EMAIL", "FAX", "MSS", "POSTAL", "RADIO", "TEL", "WEB"])
+ unless validator.valid?(type)
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
+ end
+ @type = type
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ type == o.type &&
+ details == o.details
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [type, details].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Cisuresources.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resource.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resource.rb
new file mode 100644
index 0000000000..7fead058d1
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resource.rb
@@ -0,0 +1,479 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Cisuresources
+ class Resource
+ # A valoriser avec la date et heure d'engagement de la ressource/du vecteur
+ attr_accessor :datetime
+
+ # A valoriser avec l'identifiant partagĂ© unique de la ressource engagĂ©e, normĂ© comme suit : {orgID}.resource.{ID unique de la ressource partagĂ©e} OU - uniquement dans le cas oĂč un ID unique de ressource ne peut pas ĂȘtre garanti par l'organisation propriĂ©taire : {orgID}.resource.{sendercaseId}.{n° dâordre chronologique de la ressource}
+ attr_accessor :resource_id
+
+ # A valoriser avec l'identifiant unique partagĂ© de la demande de ressource (si la ressource a Ă©tĂ© engagĂ©e suite Ă une demande de ressource), normĂ© comme suit : {orgID}.request.{ID unique de la demande dans le systĂšme Ă©metteur} OU - si un ID unique de la demande n'Ă©tait pas disponible : {OrgId Ă©metteur}.request.{senderCaseId}.{numĂ©ro dâordre chronologique}
+ attr_accessor :request_id
+
+ # A valoriser avec le numĂ©ro de mission unique du central dâappel (PSAP, âŠ) qui a dĂ©clenchĂ© le vecteur
+ attr_accessor :mission_id
+
+ # A valoriser avec l'identifiant de l'organisation à laquelle appartient la ressource, normé comme suit : {pays}.{domaine}.{organisation}
+ attr_accessor :org_id
+
+ # A valoriser avec le lieu de garage principal
+ attr_accessor :center_name
+
+ # A valoriser avec le type de vecteur mobilisé : cf. nomenclature associée
+ attr_accessor :vehicle_type
+
+ # A valoriser avec le nom donnĂ© Ă la ressource par lâorganisation dâappartenance
+ attr_accessor :name
+
+ # A valoriser avec le code INSEE de la commune du centre d'affectation
+ attr_accessor :center_city
+
+ attr_accessor :team
+
+ attr_accessor :state
+
+ attr_accessor :contact
+
+ attr_accessor :freetext
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'datetime' => :'datetime',
+ :'resource_id' => :'resourceId',
+ :'request_id' => :'requestId',
+ :'mission_id' => :'missionId',
+ :'org_id' => :'orgId',
+ :'center_name' => :'centerName',
+ :'vehicle_type' => :'vehicleType',
+ :'name' => :'name',
+ :'center_city' => :'centerCity',
+ :'team' => :'team',
+ :'state' => :'state',
+ :'contact' => :'contact',
+ :'freetext' => :'freetext'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'datetime' => :'Time',
+ :'resource_id' => :'String',
+ :'request_id' => :'String',
+ :'mission_id' => :'String',
+ :'org_id' => :'String',
+ :'center_name' => :'String',
+ :'vehicle_type' => :'String',
+ :'name' => :'String',
+ :'center_city' => :'String',
+ :'team' => :'Team',
+ :'state' => :'State',
+ :'contact' => :'Contact',
+ :'freetext' => :'Array'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Cisuresources::Resource` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Cisuresources::Resource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'datetime')
+ self.datetime = attributes[:'datetime']
+ else
+ self.datetime = nil
+ end
+
+ if attributes.key?(:'resource_id')
+ self.resource_id = attributes[:'resource_id']
+ else
+ self.resource_id = nil
+ end
+
+ if attributes.key?(:'request_id')
+ self.request_id = attributes[:'request_id']
+ end
+
+ if attributes.key?(:'mission_id')
+ self.mission_id = attributes[:'mission_id']
+ end
+
+ if attributes.key?(:'org_id')
+ self.org_id = attributes[:'org_id']
+ end
+
+ if attributes.key?(:'center_name')
+ self.center_name = attributes[:'center_name']
+ end
+
+ if attributes.key?(:'vehicle_type')
+ self.vehicle_type = attributes[:'vehicle_type']
+ else
+ self.vehicle_type = nil
+ end
+
+ if attributes.key?(:'name')
+ self.name = attributes[:'name']
+ end
+
+ if attributes.key?(:'center_city')
+ self.center_city = attributes[:'center_city']
+ end
+
+ if attributes.key?(:'team')
+ self.team = attributes[:'team']
+ end
+
+ if attributes.key?(:'state')
+ self.state = attributes[:'state']
+ else
+ self.state = nil
+ end
+
+ if attributes.key?(:'contact')
+ self.contact = attributes[:'contact']
+ end
+
+ if attributes.key?(:'freetext')
+ if (value = attributes[:'freetext']).is_a?(Array)
+ self.freetext = value
+ end
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @datetime.nil?
+ invalid_properties.push('invalid value for "datetime", datetime cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if @datetime !~ pattern
+ invalid_properties.push("invalid value for \"datetime\", must conform to the pattern #{pattern}.")
+ end
+
+ if @resource_id.nil?
+ invalid_properties.push('invalid value for "resource_id", resource_id cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
+ if @resource_id !~ pattern
+ invalid_properties.push("invalid value for \"resource_id\", must conform to the pattern #{pattern}.")
+ end
+
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
+ if !@request_id.nil? && @request_id !~ pattern
+ invalid_properties.push("invalid value for \"request_id\", must conform to the pattern #{pattern}.")
+ end
+
+ if @vehicle_type.nil?
+ invalid_properties.push('invalid value for "vehicle_type", vehicle_type cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^[0-9]{5}$/)
+ if !@center_city.nil? && @center_city !~ pattern
+ invalid_properties.push("invalid value for \"center_city\", must conform to the pattern #{pattern}.")
+ end
+
+ if @state.nil?
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @datetime.nil?
+ return false if @datetime !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ return false if @resource_id.nil?
+ return false if @resource_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
+ return false if !@request_id.nil? && @request_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
+ return false if @vehicle_type.nil?
+ vehicle_type_validator = EnumAttributeValidator.new('String', ["SMUR", "SIS"])
+ return false unless vehicle_type_validator.valid?(@vehicle_type)
+ return false if !@center_city.nil? && @center_city !~ Regexp.new(/^[0-9]{5}$/)
+ return false if @state.nil?
+ true
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] datetime Value to be assigned
+ def datetime=(datetime)
+ if datetime.nil?
+ fail ArgumentError, 'datetime cannot be nil'
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if datetime !~ pattern
+ fail ArgumentError, "invalid value for \"datetime\", must conform to the pattern #{pattern}."
+ end
+
+ @datetime = datetime
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] resource_id Value to be assigned
+ def resource_id=(resource_id)
+ if resource_id.nil?
+ fail ArgumentError, 'resource_id cannot be nil'
+ end
+
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
+ if resource_id !~ pattern
+ fail ArgumentError, "invalid value for \"resource_id\", must conform to the pattern #{pattern}."
+ end
+
+ @resource_id = resource_id
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] request_id Value to be assigned
+ def request_id=(request_id)
+ if request_id.nil?
+ fail ArgumentError, 'request_id cannot be nil'
+ end
+
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
+ if request_id !~ pattern
+ fail ArgumentError, "invalid value for \"request_id\", must conform to the pattern #{pattern}."
+ end
+
+ @request_id = request_id
+ end
+
+ # Custom attribute writer method checking allowed values (enum).
+ # @param [Object] vehicle_type Object to be assigned
+ def vehicle_type=(vehicle_type)
+ validator = EnumAttributeValidator.new('String', ["SMUR", "SIS"])
+ unless validator.valid?(vehicle_type)
+ fail ArgumentError, "invalid value for \"vehicle_type\", must be one of #{validator.allowable_values}."
+ end
+ @vehicle_type = vehicle_type
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] center_city Value to be assigned
+ def center_city=(center_city)
+ if center_city.nil?
+ fail ArgumentError, 'center_city cannot be nil'
+ end
+
+ pattern = Regexp.new(/^[0-9]{5}$/)
+ if center_city !~ pattern
+ fail ArgumentError, "invalid value for \"center_city\", must conform to the pattern #{pattern}."
+ end
+
+ @center_city = center_city
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ datetime == o.datetime &&
+ resource_id == o.resource_id &&
+ request_id == o.request_id &&
+ mission_id == o.mission_id &&
+ org_id == o.org_id &&
+ center_name == o.center_name &&
+ vehicle_type == o.vehicle_type &&
+ name == o.name &&
+ center_city == o.center_city &&
+ team == o.team &&
+ state == o.state &&
+ contact == o.contact &&
+ freetext == o.freetext
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [datetime, resource_id, request_id, mission_id, org_id, center_name, vehicle_type, name, center_city, team, state, contact, freetext].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Cisuresources.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resources_info_cisu.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resources_info_cisu.rb
new file mode 100644
index 0000000000..c89a7b8bc7
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resources_info_cisu.rb
@@ -0,0 +1,254 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Cisuresources
+ class ResourcesInfoCisu
+ # A valoriser avec l'identifiant partagĂ© de l'affaire/dossier, gĂ©nĂ©rĂ© une seule fois par le systĂšme du partenaire qui recoit la primo-demande de secours (crĂ©ateur du dossier). Il est valorisĂ© comme suit lors de sa crĂ©ation : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir ĂȘtre gĂ©nĂ©rĂ© de façon dĂ©centralisĂ©e et ne prĂ©senter aucune ambiguĂŻtĂ©. Il doit ĂȘtre unique dans l'ensemble des systĂšmes : le numĂ©ro de dossier fourni par celui qui gĂ©nĂšre l'identifiant partagĂ© doit donc ĂȘtre un numĂ©ro unique dans son systĂšme.
+ attr_accessor :case_id
+
+ attr_accessor :resource
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'case_id' => :'caseId',
+ :'resource' => :'resource'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'case_id' => :'String',
+ :'resource' => :'Array'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Cisuresources::ResourcesInfoCisu` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Cisuresources::ResourcesInfoCisu`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'case_id')
+ self.case_id = attributes[:'case_id']
+ else
+ self.case_id = nil
+ end
+
+ if attributes.key?(:'resource')
+ if (value = attributes[:'resource']).is_a?(Array)
+ self.resource = value
+ end
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @case_id.nil?
+ invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
+ if @case_id !~ pattern
+ invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @case_id.nil?
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
+ true
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] case_id Value to be assigned
+ def case_id=(case_id)
+ if case_id.nil?
+ fail ArgumentError, 'case_id cannot be nil'
+ end
+
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
+ if case_id !~ pattern
+ fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
+ end
+
+ @case_id = case_id
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ case_id == o.case_id &&
+ resource == o.resource
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [case_id, resource].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Cisuresources.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resources_info_cisu_wrapper.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resources_info_cisu_wrapper.rb
new file mode 100644
index 0000000000..743beca2ff
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/resources_info_cisu_wrapper.rb
@@ -0,0 +1,221 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Cisuresources
+ class ResourcesInfoCisuWrapper
+ attr_accessor :resources_info_cisu
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'resources_info_cisu' => :'resourcesInfoCisu'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'resources_info_cisu' => :'ResourcesInfoCisu'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Cisuresources::ResourcesInfoCisuWrapper` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Cisuresources::ResourcesInfoCisuWrapper`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'resources_info_cisu')
+ self.resources_info_cisu = attributes[:'resources_info_cisu']
+ else
+ self.resources_info_cisu = nil
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @resources_info_cisu.nil?
+ invalid_properties.push('invalid value for "resources_info_cisu", resources_info_cisu cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @resources_info_cisu.nil?
+ true
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ resources_info_cisu == o.resources_info_cisu
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [resources_info_cisu].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Cisuresources.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/state.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/state.rb
new file mode 100644
index 0000000000..90640e23d9
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/state.rb
@@ -0,0 +1,304 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Cisuresources
+ class State
+ # A valoriser avec la date et heure d'engagement de changement vers le nouveau statut
+ attr_accessor :datetime
+
+ # A valoriser avec le statut du vecteur. Cf nomenclature associée.
+ attr_accessor :status
+
+ # A valoriser de maniÚre à indiquer la disponibilité du vecteur. TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU
+ attr_accessor :availability
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'datetime' => :'datetime',
+ :'status' => :'status',
+ :'availability' => :'availability'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'datetime' => :'Time',
+ :'status' => :'String',
+ :'availability' => :'Boolean'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Cisuresources::State` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Cisuresources::State`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'datetime')
+ self.datetime = attributes[:'datetime']
+ else
+ self.datetime = nil
+ end
+
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
+ else
+ self.status = nil
+ end
+
+ if attributes.key?(:'availability')
+ self.availability = attributes[:'availability']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @datetime.nil?
+ invalid_properties.push('invalid value for "datetime", datetime cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if @datetime !~ pattern
+ invalid_properties.push("invalid value for \"datetime\", must conform to the pattern #{pattern}.")
+ end
+
+ if @status.nil?
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @datetime.nil?
+ return false if @datetime !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ return false if @status.nil?
+ status_validator = EnumAttributeValidator.new('String', ["DECISION", "DECLENCHE", "DEPART", "ANNULE", "ARRIVEE", "PEC", "BILAN", "ORIENTAT", "TRANSP", "ETAPE1", "TRANSP2", "ETAPE2", "TRANSP3", "DESTIN", "FINPEC", "RETOUR", "RET-BASE", "REN-BASE"])
+ return false unless status_validator.valid?(@status)
+ true
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] datetime Value to be assigned
+ def datetime=(datetime)
+ if datetime.nil?
+ fail ArgumentError, 'datetime cannot be nil'
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if datetime !~ pattern
+ fail ArgumentError, "invalid value for \"datetime\", must conform to the pattern #{pattern}."
+ end
+
+ @datetime = datetime
+ end
+
+ # Custom attribute writer method checking allowed values (enum).
+ # @param [Object] status Object to be assigned
+ def status=(status)
+ validator = EnumAttributeValidator.new('String', ["DECISION", "DECLENCHE", "DEPART", "ANNULE", "ARRIVEE", "PEC", "BILAN", "ORIENTAT", "TRANSP", "ETAPE1", "TRANSP2", "ETAPE2", "TRANSP3", "DESTIN", "FINPEC", "RETOUR", "RET-BASE", "REN-BASE"])
+ unless validator.valid?(status)
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
+ end
+ @status = status
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ datetime == o.datetime &&
+ status == o.status &&
+ availability == o.availability
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [datetime, status, availability].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Cisuresources.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/team.rb b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/team.rb
new file mode 100644
index 0000000000..bf76c8d544
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/cisuresources/team.rb
@@ -0,0 +1,259 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Cisuresources
+ class Team
+ # A valoriser avec le niveau de médicalisation du vecteur. Cf. nomenclature associée
+ attr_accessor :medical_level
+
+ # A valoriser avec le nom de l'équipe à bord du vecteur (celui communiqué par l'organisation à laquelle l'équipe appartient)
+ attr_accessor :name
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'medical_level' => :'medicalLevel',
+ :'name' => :'name'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'medical_level' => :'String',
+ :'name' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Cisuresources::Team` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Cisuresources::Team`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'medical_level')
+ self.medical_level = attributes[:'medical_level']
+ end
+
+ if attributes.key?(:'name')
+ self.name = attributes[:'name']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ medical_level_validator = EnumAttributeValidator.new('String', ["MED", "PARAMED", "SECOURS", "SANS"])
+ return false unless medical_level_validator.valid?(@medical_level)
+ true
+ end
+
+ # Custom attribute writer method checking allowed values (enum).
+ # @param [Object] medical_level Object to be assigned
+ def medical_level=(medical_level)
+ validator = EnumAttributeValidator.new('String', ["MED", "PARAMED", "SECOURS", "SANS"])
+ unless validator.valid?(medical_level)
+ fail ArgumentError, "invalid value for \"medical_level\", must be one of #{validator.allowable_values}."
+ end
+ @medical_level = medical_level
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ medical_level == o.medical_level &&
+ name == o.name
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [medical_level, name].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Cisuresources.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/documentlink/document_link.rb b/generator_ruby/gem/lib/hubsanteModel/models/documentlink/document_link.rb
index 1df85a137b..5635229e18 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/documentlink/document_link.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/documentlink/document_link.rb
@@ -104,12 +104,12 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if !@patient_id.nil? && @patient_id !~ pattern
invalid_properties.push("invalid value for \"patient_id\", must conform to the pattern #{pattern}.")
end
@@ -130,8 +130,8 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
- return false if !@patient_id.nil? && @patient_id !~ Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
+ return false if !@patient_id.nil? && @patient_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @document.nil?
return false if @document.length < 1
true
@@ -144,7 +144,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
@@ -159,7 +159,7 @@ def patient_id=(patient_id)
fail ArgumentError, 'patient_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if patient_id !~ pattern
fail ArgumentError, "invalid value for \"patient_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/geolocation/position.rb b/generator_ruby/gem/lib/hubsanteModel/models/geolocation/position.rb
index 3da9d57ab5..78ff97ea1b 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/geolocation/position.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/geolocation/position.rb
@@ -94,7 +94,7 @@ def self.openapi_types
:'datetime' => :'Time',
:'coord' => :'Coord',
:'speed' => :'Float',
- :'cap' => :'String',
+ :'cap' => :'Float',
:'move' => :'String',
:'engine_on' => :'Boolean',
:'ground_status' => :'Boolean',
@@ -180,7 +180,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "resource_id", resource_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if @resource_id !~ pattern
invalid_properties.push("invalid value for \"resource_id\", must conform to the pattern #{pattern}.")
end
@@ -206,7 +206,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @resource_id.nil?
- return false if @resource_id !~ Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ return false if @resource_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @datetime.nil?
return false if @datetime !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
return false if @coord.nil?
@@ -226,7 +226,7 @@ def resource_id=(resource_id)
fail ArgumentError, 'resource_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if resource_id !~ pattern
fail ArgumentError, "invalid value for \"resource_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/geolocation/resource.rb b/generator_ruby/gem/lib/hubsanteModel/models/geolocation/resource.rb
index 27205879ef..20fb5a0ccf 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/geolocation/resource.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/geolocation/resource.rb
@@ -164,7 +164,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "resource_id", resource_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if @resource_id !~ pattern
invalid_properties.push("invalid value for \"resource_id\", must conform to the pattern #{pattern}.")
end
@@ -185,7 +185,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @resource_id.nil?
- return false if @resource_id !~ Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ return false if @resource_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @org_id.nil?
return false if @resource_type.nil?
resource_type_validator = EnumAttributeValidator.new('String', ["SMUR", "SDIS", "TSU", "SNP", "MSPE", "SHIP"])
@@ -206,7 +206,7 @@ def resource_id=(resource_id)
fail ArgumentError, 'resource_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if resource_id !~ pattern
fail ArgumentError, "invalid value for \"resource_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/health/create_case_health.rb b/generator_ruby/gem/lib/hubsanteModel/models/health/create_case_health.rb
index ca405dd7db..3bde652d4d 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/health/create_case_health.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/health/create_case_health.rb
@@ -211,7 +211,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
@@ -237,7 +237,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "owner", owner cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,9}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,9}$/)
if @owner !~ pattern
invalid_properties.push("invalid value for \"owner\", must conform to the pattern #{pattern}.")
end
@@ -250,7 +250,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @creation.nil?
return false if @creation !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
perimeter_validator = EnumAttributeValidator.new('String', ["AMU", "NEONAT", "PSY", "SNP"])
@@ -260,7 +260,7 @@ def valid?
return false if @qualification.nil?
return false if @location.nil?
return false if @owner.nil?
- return false if @owner !~ Regexp.new(/^([\w-]+\.?){4,9}$/)
+ return false if @owner !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,9}$/)
true
end
@@ -271,7 +271,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
@@ -321,7 +321,7 @@ def owner=(owner)
fail ArgumentError, 'owner cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,9}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,9}$/)
if owner !~ pattern
fail ArgumentError, "invalid value for \"owner\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/health/medical_note.rb b/generator_ruby/gem/lib/hubsanteModel/models/health/medical_note.rb
index 8eab9332a0..448c3de802 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/health/medical_note.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/health/medical_note.rb
@@ -109,7 +109,7 @@ def initialize(attributes = {})
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if !@patient_id.nil? && @patient_id !~ pattern
invalid_properties.push("invalid value for \"patient_id\", must conform to the pattern #{pattern}.")
end
@@ -122,7 +122,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "medical_note_id", medical_note_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}medicalNote(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}medicalNote(\.[a-zA-Z0-9_-]+){1,2}$/)
if @medical_note_id !~ pattern
invalid_properties.push("invalid value for \"medical_note_id\", must conform to the pattern #{pattern}.")
end
@@ -143,10 +143,10 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
- return false if !@patient_id.nil? && @patient_id !~ Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ return false if !@patient_id.nil? && @patient_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @operator.nil?
return false if @medical_note_id.nil?
- return false if @medical_note_id !~ Regexp.new(/^([\w-]+\.){3,8}medicalNote(\.[\w-]+){1,2}$/)
+ return false if @medical_note_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}medicalNote(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if !@creation.nil? && @creation !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
return false if @freetext.nil?
true
@@ -159,7 +159,7 @@ def patient_id=(patient_id)
fail ArgumentError, 'patient_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if patient_id !~ pattern
fail ArgumentError, "invalid value for \"patient_id\", must conform to the pattern #{pattern}."
end
@@ -174,7 +174,7 @@ def medical_note_id=(medical_note_id)
fail ArgumentError, 'medical_note_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}medicalNote(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}medicalNote(\.[a-zA-Z0-9_-]+){1,2}$/)
if medical_note_id !~ pattern
fail ArgumentError, "invalid value for \"medical_note_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/health/patient.rb b/generator_ruby/gem/lib/hubsanteModel/models/health/patient.rb
index a82945b0fd..dcb8fc88ad 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/health/patient.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/health/patient.rb
@@ -106,7 +106,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "patient_id", patient_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if @patient_id !~ pattern
invalid_properties.push("invalid value for \"patient_id\", must conform to the pattern #{pattern}.")
end
@@ -119,7 +119,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @patient_id.nil?
- return false if @patient_id !~ Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ return false if @patient_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
true
end
@@ -130,7 +130,7 @@ def patient_id=(patient_id)
fail ArgumentError, 'patient_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if patient_id !~ pattern
fail ArgumentError, "invalid value for \"patient_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/intervention_report.rb b/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/intervention_report.rb
index 5d1ddd4cd8..266fe10d01 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/intervention_report.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/intervention_report.rb
@@ -124,7 +124,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
@@ -158,7 +158,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @report_id.nil?
return false if @redactor.nil?
return false if @creation.nil?
@@ -174,7 +174,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/patient.rb b/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/patient.rb
index e075076f73..4a151cf77f 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/patient.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/interventionreport/patient.rb
@@ -182,7 +182,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "patient_id", patient_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if @patient_id !~ pattern
invalid_properties.push("invalid value for \"patient_id\", must conform to the pattern #{pattern}.")
end
@@ -203,7 +203,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @patient_id.nil?
- return false if @patient_id !~ Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ return false if @patient_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @last_name.nil?
return false if @first_name.nil?
sex_validator = EnumAttributeValidator.new('String', ["M", "F", "O", "UN"])
@@ -218,7 +218,7 @@ def patient_id=(patient_id)
fail ArgumentError, 'patient_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}patient(\.[a-zA-Z0-9_-]+){1,2}$/)
if patient_id !~ pattern
fail ArgumentError, "invalid value for \"patient_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resource.rb b/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resource.rb
index bf1c2fad18..4d2f761abb 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resource.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resource.rb
@@ -226,12 +226,12 @@ def list_invalid_properties
invalid_properties.push('invalid value for "resource_id", resource_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if @resource_id !~ pattern
invalid_properties.push("invalid value for \"resource_id\", must conform to the pattern #{pattern}.")
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
if !@request_id.nil? && @request_id !~ pattern
invalid_properties.push("invalid value for \"request_id\", must conform to the pattern #{pattern}.")
end
@@ -255,8 +255,8 @@ def valid?
return false if @datetime.nil?
return false if @datetime !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
return false if @resource_id.nil?
- return false if @resource_id !~ Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
- return false if !@request_id.nil? && @request_id !~ Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ return false if @resource_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
+ return false if !@request_id.nil? && @request_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @vehicle_type.nil?
vehicle_type_validator = EnumAttributeValidator.new('String', ["AASC", "AASC.VLSC", "AASC.VPSP", "AASC.AUTRESC", "AUTREVEC", "AUTREVEC.APIED", "AUTREVEC.AVION", "AUTREVEC.PERSO", "AUTREVEC.TAXI", "AUTREVEC.TRAIN", "AUTREVEC.TRANSP", "AUTREVEC.AUTRE", "AUTREVEC.AUTRETRA", "FSI", "FSI.HELIFSI", "FSI.VLFSI", "FSI.FFSI", "FSI.VHFSI", "LIB", "LIB.MEDV", "LIB.INF", "LIB.AUTREPRO", "SIS", "SIS.DRAGON", "SIS.AVSC", "SIS.FEUSIS", "SIS.GRIMP", "SIS.NAVISIS", "SIS.PCSIS", "SIS.SRSIS", "SIS.VCH", "SIS.VLCG", "SIS.VLISP", "SIS.VLMSP", "SIS.VLSIS", "SIS.VPL", "SIS.VPMA", "SIS.VR", "SIS.VSAV", "SIS.MOYSSE", "SIS.AUTRESIS", "SMUR", "SMUR.VLM", "SMUR.VL", "SMUR.PSM1", "SMUR.PSM2", "SMUR.PSM3", "SMUR.PSMP", "SMUR.VPC", "SMUR.AR", "SMUR.AR-BAR", "SMUR.AR-PED", "SMUR.HELISMUR", "SMUR.HELISAN", "SMUR.AVSMUR", "SMUR.AVSAN", "SMUR.NAVISMUR", "TSU", "TSU.VSL", "TSU.AMB-GV", "TSU.AMB-PV", "TSU.AMB-BAR", "TSU.AMB"])
return false unless vehicle_type_validator.valid?(@vehicle_type)
@@ -286,7 +286,7 @@ def resource_id=(resource_id)
fail ArgumentError, 'resource_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if resource_id !~ pattern
fail ArgumentError, "invalid value for \"resource_id\", must conform to the pattern #{pattern}."
end
@@ -301,7 +301,7 @@ def request_id=(request_id)
fail ArgumentError, 'request_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
if request_id !~ pattern
fail ArgumentError, "invalid value for \"request_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resources_info.rb b/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resources_info.rb
index 08b712214d..a3ab9a75f7 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resources_info.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/resourcesinfo/resources_info.rb
@@ -86,7 +86,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
@@ -107,7 +107,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @resource.nil?
return false if @resource.length < 1
true
@@ -120,7 +120,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/request.rb b/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/request.rb
index 25a959b272..4d503b6a8c 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/request.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/request.rb
@@ -145,7 +145,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "request_id", request_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
if @request_id !~ pattern
invalid_properties.push("invalid value for \"request_id\", must conform to the pattern #{pattern}.")
end
@@ -171,7 +171,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @request_id.nil?
- return false if @request_id !~ Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ return false if @request_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @datetime.nil?
return false if @datetime !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
convention_validator = EnumAttributeValidator.new('String', ["DRSIS", "MISSION", "ITSP", "CARENCE", "CONVENT", "SPE", "HORS", "AUTRE1", "AUTRE2", "AUTRE3"])
@@ -191,7 +191,7 @@ def request_id=(request_id)
fail ArgumentError, 'request_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
if request_id !~ pattern
fail ArgumentError, "invalid value for \"request_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/resources_request.rb b/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/resources_request.rb
index 232e4aa606..b8086f0a09 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/resources_request.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/resourcesrequest/resources_request.rb
@@ -115,7 +115,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
@@ -132,7 +132,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @request.nil?
status_validator = EnumAttributeValidator.new('String', ["ANNULEE"])
return false unless status_validator.valid?(@status)
@@ -146,7 +146,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/resourcesresponse/resources_response.rb b/generator_ruby/gem/lib/hubsanteModel/models/resourcesresponse/resources_response.rb
index aa917632aa..447bf4d14b 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/resourcesresponse/resources_response.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/resourcesresponse/resources_response.rb
@@ -95,7 +95,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
@@ -104,7 +104,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "request_id", request_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
if @request_id !~ pattern
invalid_properties.push("invalid value for \"request_id\", must conform to the pattern #{pattern}.")
end
@@ -121,9 +121,9 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @request_id.nil?
- return false if @request_id !~ Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ return false if @request_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @response.nil?
true
end
@@ -135,7 +135,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
@@ -150,7 +150,7 @@ def request_id=(request_id)
fail ArgumentError, 'request_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}request(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}request(\.[a-zA-Z0-9_-]+){1,2}$/)
if request_id !~ pattern
fail ArgumentError, "invalid value for \"request_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/resourcesstatus/resources_status.rb b/generator_ruby/gem/lib/hubsanteModel/models/resourcesstatus/resources_status.rb
index a92ddbdef1..dbc4413588 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/resourcesstatus/resources_status.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/resourcesstatus/resources_status.rb
@@ -95,7 +95,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "case_id", case_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @case_id !~ pattern
invalid_properties.push("invalid value for \"case_id\", must conform to the pattern #{pattern}.")
end
@@ -104,7 +104,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "resource_id", resource_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if @resource_id !~ pattern
invalid_properties.push("invalid value for \"resource_id\", must conform to the pattern #{pattern}.")
end
@@ -121,9 +121,9 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @case_id.nil?
- return false if @case_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @case_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @resource_id.nil?
- return false if @resource_id !~ Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ return false if @resource_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
return false if @state.nil?
true
end
@@ -135,7 +135,7 @@ def case_id=(case_id)
fail ArgumentError, 'case_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if case_id !~ pattern
fail ArgumentError, "invalid value for \"case_id\", must conform to the pattern #{pattern}."
end
@@ -150,7 +150,7 @@ def resource_id=(resource_id)
fail ArgumentError, 'resource_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.){3,8}resource(\.[\w-]+){1,2}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.){3,8}resource(\.[a-zA-Z0-9_-]+){1,2}$/)
if resource_id !~ pattern
fail ArgumentError, "invalid value for \"resource_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/rpis/event.rb b/generator_ruby/gem/lib/hubsanteModel/models/rpis/event.rb
index 588878a9f6..53694cc4a0 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/rpis/event.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/rpis/event.rb
@@ -140,7 +140,7 @@ def list_invalid_properties
invalid_properties.push('invalid value for "org_id", org_id cannot be nil.')
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if @org_id !~ pattern
invalid_properties.push("invalid value for \"org_id\", must conform to the pattern #{pattern}.")
end
@@ -187,7 +187,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @org_id.nil?
- return false if @org_id !~ Regexp.new(/^([\w-]+\.?){4,10}$/)
+ return false if @org_id !~ Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
return false if @sender_case_id.nil?
return false if @creation_date.nil?
return false if @creation_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
@@ -206,7 +206,7 @@ def org_id=(org_id)
fail ArgumentError, 'org_id cannot be nil'
end
- pattern = Regexp.new(/^([\w-]+\.?){4,10}$/)
+ pattern = Regexp.new(/^([a-zA-Z0-9_-]+\.?){4,10}$/)
if org_id !~ pattern
fail ArgumentError, "invalid value for \"org_id\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/rpis/whats_happen.rb b/generator_ruby/gem/lib/hubsanteModel/models/rpis/whats_happen.rb
index 7e649cd8b1..daec25ca14 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/rpis/whats_happen.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/rpis/whats_happen.rb
@@ -119,7 +119,7 @@ def list_invalid_properties
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @code.nil?
- code_validator = EnumAttributeValidator.new('String', ["C01.00.00", "C01.01.00", "C01.01.01", "C01.01.02", "C01.01.03", "C01.01.04", "C01.01.05", "C01.01.06", "C01.02.00", "C01.02.01", "C01.02.02", "C01.03.00", "C01.03.01", "C01.03.02", "C01.04.00", "C01.04.01", "C01.04.02", "C01.04.03", "C01.04.04", "C01.05.00", "C02.00.00", "C02.01.00", "C02.02.00", "C02.03.00", "C02.03.01", "C02.03.02", "C02.04.00", "C02.04.01", "C02.04.02", "C02.04.03", "C02.05.00", "C02.05.01", "C02.05.02", "C02.05.03", "C02.06.00", "C02.06.01", "C02.07.00", "C02.07.01", "C02.07.02", "C02.07.03", "C02.07.04", "C02.07.05", "C02.08.00", "C02.08.01", "C02.08.02", "C02.08.03", "C02.08.04", "C02.08.05", "C02.08.06", "C02.08.07", "C02.08.08", "C02.09.00", "C02.09.01", "C02.09.02", "C02.09.03", "C02.09.04", "C02.09.05", "C02.09.06", "C02.09.07", "C02.10.00", "C02.11.00", "C02.11.01", "C02.11.02", "C02.12.00", "C02.13.00", "C02.13.01", "C02.13.02", "C02.13.03", "C02.13.04", "C02.13.05", "C02.13.06", "C02.13.07", "C02.13.08", "C02.14.00", "C02.14.01", "C02.14.02", "C02.14.03", "C02.14.04", "C02.15.00", "C02.15.01", "C02.15.02", "C02.15.03", "C02.15.04", "C02.15.05", "C02.15.06", "C02.16.00", "C02.16.01", "C02.16.02", "C02.16.03", "C07.03.00", "C07.03.01", "C07.03.02", "C07.03.03", "C07.03.04", "C07.03.05", "C03.00.00", "C03.01.00", "C03.01.01", "C03.01.02", "C03.01.03", "C03.01.04", "C03.01.05", "C03.02.00", "C03.02.01", "C03.02.02", "C03.02.03", "C03.02.04", "C03.02.05", "C03.02.06", "C03.02.07", "C03.02.08", "C03.02.09", "C03.02.10", "C03.02.11", "C03.02.12", "C03.02.13", "C03.02.14", "C03.02.15", "C03.03.00", "C03.03.01", "C03.03.02", "C03.04.00", "C03.04.01", "C03.04.02", "C03.05.00", "C03.06.00", "C03.07.00", "C03.08.00", "C03.09.00", "C03.10.00", "C03.11.00", "C03.12.00", "C03.13.00", "C03.14.00", "C03.15.00", "C04.00.00", "C04.01.00", "C04.01.01", "C04.01.02", "C04.01.03", "C04.01.04", "C04.01.05", "C04.01.06", "C04.01.07", "C04.01.08", "C04.01.09", "C04.01.10", "C04.01.11", "C04.02.00", "C04.02.01", "C04.02.02", "C04.02.03", "C04.02.04", "C04.03.00", "C04.04.00", "C04.05.00", "C04.06.00", "C04.07.00", "C04.07.01", "C04.07.02", "C04.07.03", "C04.07.04", "C04.08.00", "C04.09.00", "C05.00.00", "C05.00.01", "C05.00.02", "C05.00.03", "C05.00.04", "C05.00.05", "C06.00.00", "C06.01.00", "C06.02.00", "C06.03.00", "C06.03.01", "C06.03.02", "C06.03.03", "C06.03.04", "C06.03.05", "C06.03.06", "C06.04.00", "C06.04.01", "C06.04.02", "C06.05.00", "C06.06.00", "C06.06.01", "C06.07.00", "C06.07.01", "C06.07.02", "C06.08.00", "C06.08.01", "C06.08.02", "C06.08.03", "C06.08.04", "C06.08.05", "C06.08.06", "C07.00.00", "C07.01.00", "C07.02.00", "C07.03.00", "C07.03.01", "C07.03.02", "C07.03.03", "C07.03.04", "C07.03.05", "C07.04.00", "C07.04.01", "C07.04.02", "C07.04.03", "C07.04.04", "C07.05.00", "C07.06.00", "C07.07.00", "C07.07.01", "C07.07.02", "C07.07.03", "C07.07.04", "C07.07.05", "C07.08.00", "C07.08.01", "C07.08.02", "C07.08.03", "C07.09.00", "C07.09.01", "C07.09.02", "C07.09.03", "C07.09.05", "C07.10.00", "C07.11.00", "C07.12.00", "C07.13.00", "C07.13.01", "C07.13.02", "C07.13.03", "C07.13.04", "C07.13.05", "C07.13.06", "C07.13.07", "C08.00.00", "C08.01.00", "C08.02.00", "C08.03.00", "C08.04.00", "C08.05.00", "C08.06.00", "C08.07.00", "C08.08.00", "C08.08.01", "C08.08.02", "C08.09.00", "C08.10.00", "C08.10.01", "C09.00.00", "C09.01.00", "C09.01.01", "C09.01.02", "C09.01.03", "C09.01.04", "C09.02.00", "C09.03.00", "C09.03.01", "C09.04.00", "C09.04.01", "C09.04.02", "C09.05.00", "C09.06.00", "C09.07.00", "C09.08.00", "C10.00.00", "C10.01.00", "C10.01.01", "C10.01.02", "C10.01.03", "C10.01.04", "C10.01.05", "C10.01.06", "C10.01.07", "C10.01.08", "C10.02.00", "C10.02.01", "C10.02.02", "C10.03.00", "C10.03.01", "C10.03.02", "C10.04.00", "C10.04.01", "C10.04.02", "C10.05.00", "C10.06.00", "C10.07.00", "C10.08.00", "C11.00.00", "C11.01.00", "C11.02.00", "C11.02.01", "C11.02.02", "C11.03.00", "C11.03.01", "C11.03.02", "C11.04.00", "C11.05.00", "C11.05.01", "C11.05.02", "C11.05.03", "C11.06.00"])
+ code_validator = EnumAttributeValidator.new('String', ["C01.00.00", "C01.01.00", "C01.01.01", "C01.01.02", "C01.01.03", "C01.01.04", "C01.01.05", "C01.01.06", "C01.02.00", "C01.02.01", "C01.02.02", "C01.03.00", "C01.03.01", "C01.03.02", "C01.04.00", "C01.04.01", "C01.04.02", "C01.04.03", "C01.04.04", "C01.05.00", "C02.00.00", "C02.01.00", "C02.02.00", "C02.03.00", "C02.03.01", "C02.03.02", "C02.04.00", "C02.04.01", "C02.04.02", "C02.04.03", "C02.05.00", "C02.05.01", "C02.05.02", "C02.05.03", "C02.06.00", "C02.06.01", "C02.07.00", "C02.07.01", "C02.07.02", "C02.07.03", "C02.07.04", "C02.07.05", "C02.08.00", "C02.08.01", "C02.08.02", "C02.08.03", "C02.08.04", "C02.08.05", "C02.08.06", "C02.08.07", "C02.08.08", "C02.09.00", "C02.09.01", "C02.09.02", "C02.09.03", "C02.09.04", "C02.09.05", "C02.09.06", "C02.09.07", "C02.10.00", "C02.11.00", "C02.11.01", "C02.11.02", "C02.12.00", "C02.13.00", "C02.13.01", "C02.13.02", "C02.13.03", "C02.13.04", "C02.13.05", "C02.13.06", "C02.13.07", "C02.13.08", "C02.14.00", "C02.14.01", "C02.14.02", "C02.14.03", "C02.14.04", "C02.15.00", "C02.15.01", "C02.15.02", "C02.15.03", "C02.15.04", "C02.15.05", "C02.15.06", "C02.16.00", "C02.16.01", "C02.16.02", "C02.16.03", "C03.00.00", "C03.01.00", "C03.01.01", "C03.01.02", "C03.01.03", "C03.01.04", "C03.01.05", "C03.02.00", "C03.02.01", "C03.02.02", "C03.02.03", "C03.02.04", "C03.02.05", "C03.02.06", "C03.02.07", "C03.02.08", "C03.02.09", "C03.02.10", "C03.02.11", "C03.02.12", "C03.02.13", "C03.02.14", "C03.02.15", "C03.03.00", "C03.03.01", "C03.03.02", "C03.04.00", "C03.04.01", "C03.04.02", "C03.05.00", "C03.06.00", "C03.07.00", "C03.08.00", "C03.09.00", "C03.10.00", "C03.11.00", "C03.12.00", "C03.13.00", "C03.14.00", "C03.15.00", "C04.00.00", "C04.01.00", "C04.01.01", "C04.01.02", "C04.01.03", "C04.01.04", "C04.01.05", "C04.01.06", "C04.01.07", "C04.01.08", "C04.01.09", "C04.01.10", "C04.01.11", "C04.02.00", "C04.02.01", "C04.02.02", "C04.02.03", "C04.02.04", "C04.03.00", "C04.04.00", "C04.05.00", "C04.06.00", "C04.07.00", "C04.07.01", "C04.07.02", "C04.07.03", "C04.07.04", "C04.08.00", "C04.09.00", "C05.00.00", "C05.00.01", "C05.00.02", "C05.00.03", "C05.00.04", "C05.00.05", "C06.00.00", "C06.01.00", "C06.02.00", "C06.03.00", "C06.03.01", "C06.03.02", "C06.03.03", "C06.03.04", "C06.03.05", "C06.03.06", "C06.04.00", "C06.04.01", "C06.04.02", "C06.05.00", "C06.06.00", "C06.06.01", "C06.07.00", "C06.07.01", "C06.07.02", "C06.08.00", "C06.08.01", "C06.08.02", "C06.08.03", "C06.08.04", "C06.08.05", "C06.08.06", "C07.00.00", "C07.01.00", "C07.02.00", "C07.03.00", "C07.03.01", "C07.03.02", "C07.03.03", "C07.03.04", "C07.03.05", "C07.04.00", "C07.04.01", "C07.04.02", "C07.04.03", "C07.04.04", "C07.05.00", "C07.06.00", "C07.07.00", "C07.07.01", "C07.07.02", "C07.07.03", "C07.07.04", "C07.07.05", "C07.08.00", "C07.08.01", "C07.08.02", "C07.08.03", "C07.09.00", "C07.09.01", "C07.09.02", "C07.09.03", "C07.09.05", "C07.10.00", "C07.11.00", "C07.12.00", "C07.13.00", "C07.13.01", "C07.13.02", "C07.13.03", "C07.13.04", "C07.13.05", "C07.13.06", "C07.13.07", "C08.00.00", "C08.01.00", "C08.02.00", "C08.03.00", "C08.04.00", "C08.05.00", "C08.06.00", "C08.07.00", "C08.08.00", "C08.08.01", "C08.08.02", "C08.09.00", "C08.10.00", "C08.10.01", "C09.00.00", "C09.01.00", "C09.01.01", "C09.01.02", "C09.01.03", "C09.01.04", "C09.02.00", "C09.03.00", "C09.03.01", "C09.04.00", "C09.04.01", "C09.04.02", "C09.05.00", "C09.06.00", "C09.07.00", "C09.08.00", "C10.00.00", "C10.01.00", "C10.01.01", "C10.01.02", "C10.01.03", "C10.01.04", "C10.01.05", "C10.01.06", "C10.01.07", "C10.01.08", "C10.02.00", "C10.02.01", "C10.02.02", "C10.03.00", "C10.03.01", "C10.03.02", "C10.04.00", "C10.04.01", "C10.04.02", "C10.05.00", "C10.06.00", "C10.07.00", "C10.08.00", "C11.00.00", "C11.01.00", "C11.02.00", "C11.02.01", "C11.02.02", "C11.03.00", "C11.03.01", "C11.03.02", "C11.04.00", "C11.05.00", "C11.05.01", "C11.05.02", "C11.05.03", "C11.06.00"])
return false unless code_validator.valid?(@code)
return false if @label.nil?
true
@@ -128,7 +128,7 @@ def valid?
# Custom attribute writer method checking allowed values (enum).
# @param [Object] code Object to be assigned
def code=(code)
- validator = EnumAttributeValidator.new('String', ["C01.00.00", "C01.01.00", "C01.01.01", "C01.01.02", "C01.01.03", "C01.01.04", "C01.01.05", "C01.01.06", "C01.02.00", "C01.02.01", "C01.02.02", "C01.03.00", "C01.03.01", "C01.03.02", "C01.04.00", "C01.04.01", "C01.04.02", "C01.04.03", "C01.04.04", "C01.05.00", "C02.00.00", "C02.01.00", "C02.02.00", "C02.03.00", "C02.03.01", "C02.03.02", "C02.04.00", "C02.04.01", "C02.04.02", "C02.04.03", "C02.05.00", "C02.05.01", "C02.05.02", "C02.05.03", "C02.06.00", "C02.06.01", "C02.07.00", "C02.07.01", "C02.07.02", "C02.07.03", "C02.07.04", "C02.07.05", "C02.08.00", "C02.08.01", "C02.08.02", "C02.08.03", "C02.08.04", "C02.08.05", "C02.08.06", "C02.08.07", "C02.08.08", "C02.09.00", "C02.09.01", "C02.09.02", "C02.09.03", "C02.09.04", "C02.09.05", "C02.09.06", "C02.09.07", "C02.10.00", "C02.11.00", "C02.11.01", "C02.11.02", "C02.12.00", "C02.13.00", "C02.13.01", "C02.13.02", "C02.13.03", "C02.13.04", "C02.13.05", "C02.13.06", "C02.13.07", "C02.13.08", "C02.14.00", "C02.14.01", "C02.14.02", "C02.14.03", "C02.14.04", "C02.15.00", "C02.15.01", "C02.15.02", "C02.15.03", "C02.15.04", "C02.15.05", "C02.15.06", "C02.16.00", "C02.16.01", "C02.16.02", "C02.16.03", "C07.03.00", "C07.03.01", "C07.03.02", "C07.03.03", "C07.03.04", "C07.03.05", "C03.00.00", "C03.01.00", "C03.01.01", "C03.01.02", "C03.01.03", "C03.01.04", "C03.01.05", "C03.02.00", "C03.02.01", "C03.02.02", "C03.02.03", "C03.02.04", "C03.02.05", "C03.02.06", "C03.02.07", "C03.02.08", "C03.02.09", "C03.02.10", "C03.02.11", "C03.02.12", "C03.02.13", "C03.02.14", "C03.02.15", "C03.03.00", "C03.03.01", "C03.03.02", "C03.04.00", "C03.04.01", "C03.04.02", "C03.05.00", "C03.06.00", "C03.07.00", "C03.08.00", "C03.09.00", "C03.10.00", "C03.11.00", "C03.12.00", "C03.13.00", "C03.14.00", "C03.15.00", "C04.00.00", "C04.01.00", "C04.01.01", "C04.01.02", "C04.01.03", "C04.01.04", "C04.01.05", "C04.01.06", "C04.01.07", "C04.01.08", "C04.01.09", "C04.01.10", "C04.01.11", "C04.02.00", "C04.02.01", "C04.02.02", "C04.02.03", "C04.02.04", "C04.03.00", "C04.04.00", "C04.05.00", "C04.06.00", "C04.07.00", "C04.07.01", "C04.07.02", "C04.07.03", "C04.07.04", "C04.08.00", "C04.09.00", "C05.00.00", "C05.00.01", "C05.00.02", "C05.00.03", "C05.00.04", "C05.00.05", "C06.00.00", "C06.01.00", "C06.02.00", "C06.03.00", "C06.03.01", "C06.03.02", "C06.03.03", "C06.03.04", "C06.03.05", "C06.03.06", "C06.04.00", "C06.04.01", "C06.04.02", "C06.05.00", "C06.06.00", "C06.06.01", "C06.07.00", "C06.07.01", "C06.07.02", "C06.08.00", "C06.08.01", "C06.08.02", "C06.08.03", "C06.08.04", "C06.08.05", "C06.08.06", "C07.00.00", "C07.01.00", "C07.02.00", "C07.03.00", "C07.03.01", "C07.03.02", "C07.03.03", "C07.03.04", "C07.03.05", "C07.04.00", "C07.04.01", "C07.04.02", "C07.04.03", "C07.04.04", "C07.05.00", "C07.06.00", "C07.07.00", "C07.07.01", "C07.07.02", "C07.07.03", "C07.07.04", "C07.07.05", "C07.08.00", "C07.08.01", "C07.08.02", "C07.08.03", "C07.09.00", "C07.09.01", "C07.09.02", "C07.09.03", "C07.09.05", "C07.10.00", "C07.11.00", "C07.12.00", "C07.13.00", "C07.13.01", "C07.13.02", "C07.13.03", "C07.13.04", "C07.13.05", "C07.13.06", "C07.13.07", "C08.00.00", "C08.01.00", "C08.02.00", "C08.03.00", "C08.04.00", "C08.05.00", "C08.06.00", "C08.07.00", "C08.08.00", "C08.08.01", "C08.08.02", "C08.09.00", "C08.10.00", "C08.10.01", "C09.00.00", "C09.01.00", "C09.01.01", "C09.01.02", "C09.01.03", "C09.01.04", "C09.02.00", "C09.03.00", "C09.03.01", "C09.04.00", "C09.04.01", "C09.04.02", "C09.05.00", "C09.06.00", "C09.07.00", "C09.08.00", "C10.00.00", "C10.01.00", "C10.01.01", "C10.01.02", "C10.01.03", "C10.01.04", "C10.01.05", "C10.01.06", "C10.01.07", "C10.01.08", "C10.02.00", "C10.02.01", "C10.02.02", "C10.03.00", "C10.03.01", "C10.03.02", "C10.04.00", "C10.04.01", "C10.04.02", "C10.05.00", "C10.06.00", "C10.07.00", "C10.08.00", "C11.00.00", "C11.01.00", "C11.02.00", "C11.02.01", "C11.02.02", "C11.03.00", "C11.03.01", "C11.03.02", "C11.04.00", "C11.05.00", "C11.05.01", "C11.05.02", "C11.05.03", "C11.06.00"])
+ validator = EnumAttributeValidator.new('String', ["C01.00.00", "C01.01.00", "C01.01.01", "C01.01.02", "C01.01.03", "C01.01.04", "C01.01.05", "C01.01.06", "C01.02.00", "C01.02.01", "C01.02.02", "C01.03.00", "C01.03.01", "C01.03.02", "C01.04.00", "C01.04.01", "C01.04.02", "C01.04.03", "C01.04.04", "C01.05.00", "C02.00.00", "C02.01.00", "C02.02.00", "C02.03.00", "C02.03.01", "C02.03.02", "C02.04.00", "C02.04.01", "C02.04.02", "C02.04.03", "C02.05.00", "C02.05.01", "C02.05.02", "C02.05.03", "C02.06.00", "C02.06.01", "C02.07.00", "C02.07.01", "C02.07.02", "C02.07.03", "C02.07.04", "C02.07.05", "C02.08.00", "C02.08.01", "C02.08.02", "C02.08.03", "C02.08.04", "C02.08.05", "C02.08.06", "C02.08.07", "C02.08.08", "C02.09.00", "C02.09.01", "C02.09.02", "C02.09.03", "C02.09.04", "C02.09.05", "C02.09.06", "C02.09.07", "C02.10.00", "C02.11.00", "C02.11.01", "C02.11.02", "C02.12.00", "C02.13.00", "C02.13.01", "C02.13.02", "C02.13.03", "C02.13.04", "C02.13.05", "C02.13.06", "C02.13.07", "C02.13.08", "C02.14.00", "C02.14.01", "C02.14.02", "C02.14.03", "C02.14.04", "C02.15.00", "C02.15.01", "C02.15.02", "C02.15.03", "C02.15.04", "C02.15.05", "C02.15.06", "C02.16.00", "C02.16.01", "C02.16.02", "C02.16.03", "C03.00.00", "C03.01.00", "C03.01.01", "C03.01.02", "C03.01.03", "C03.01.04", "C03.01.05", "C03.02.00", "C03.02.01", "C03.02.02", "C03.02.03", "C03.02.04", "C03.02.05", "C03.02.06", "C03.02.07", "C03.02.08", "C03.02.09", "C03.02.10", "C03.02.11", "C03.02.12", "C03.02.13", "C03.02.14", "C03.02.15", "C03.03.00", "C03.03.01", "C03.03.02", "C03.04.00", "C03.04.01", "C03.04.02", "C03.05.00", "C03.06.00", "C03.07.00", "C03.08.00", "C03.09.00", "C03.10.00", "C03.11.00", "C03.12.00", "C03.13.00", "C03.14.00", "C03.15.00", "C04.00.00", "C04.01.00", "C04.01.01", "C04.01.02", "C04.01.03", "C04.01.04", "C04.01.05", "C04.01.06", "C04.01.07", "C04.01.08", "C04.01.09", "C04.01.10", "C04.01.11", "C04.02.00", "C04.02.01", "C04.02.02", "C04.02.03", "C04.02.04", "C04.03.00", "C04.04.00", "C04.05.00", "C04.06.00", "C04.07.00", "C04.07.01", "C04.07.02", "C04.07.03", "C04.07.04", "C04.08.00", "C04.09.00", "C05.00.00", "C05.00.01", "C05.00.02", "C05.00.03", "C05.00.04", "C05.00.05", "C06.00.00", "C06.01.00", "C06.02.00", "C06.03.00", "C06.03.01", "C06.03.02", "C06.03.03", "C06.03.04", "C06.03.05", "C06.03.06", "C06.04.00", "C06.04.01", "C06.04.02", "C06.05.00", "C06.06.00", "C06.06.01", "C06.07.00", "C06.07.01", "C06.07.02", "C06.08.00", "C06.08.01", "C06.08.02", "C06.08.03", "C06.08.04", "C06.08.05", "C06.08.06", "C07.00.00", "C07.01.00", "C07.02.00", "C07.03.00", "C07.03.01", "C07.03.02", "C07.03.03", "C07.03.04", "C07.03.05", "C07.04.00", "C07.04.01", "C07.04.02", "C07.04.03", "C07.04.04", "C07.05.00", "C07.06.00", "C07.07.00", "C07.07.01", "C07.07.02", "C07.07.03", "C07.07.04", "C07.07.05", "C07.08.00", "C07.08.01", "C07.08.02", "C07.08.03", "C07.09.00", "C07.09.01", "C07.09.02", "C07.09.03", "C07.09.05", "C07.10.00", "C07.11.00", "C07.12.00", "C07.13.00", "C07.13.01", "C07.13.02", "C07.13.03", "C07.13.04", "C07.13.05", "C07.13.06", "C07.13.07", "C08.00.00", "C08.01.00", "C08.02.00", "C08.03.00", "C08.04.00", "C08.05.00", "C08.06.00", "C08.07.00", "C08.08.00", "C08.08.01", "C08.08.02", "C08.09.00", "C08.10.00", "C08.10.01", "C09.00.00", "C09.01.00", "C09.01.01", "C09.01.02", "C09.01.03", "C09.01.04", "C09.02.00", "C09.03.00", "C09.03.01", "C09.04.00", "C09.04.01", "C09.04.02", "C09.05.00", "C09.06.00", "C09.07.00", "C09.08.00", "C10.00.00", "C10.01.00", "C10.01.01", "C10.01.02", "C10.01.03", "C10.01.04", "C10.01.05", "C10.01.06", "C10.01.07", "C10.01.08", "C10.02.00", "C10.02.01", "C10.02.02", "C10.03.00", "C10.03.01", "C10.03.02", "C10.04.00", "C10.04.01", "C10.04.02", "C10.05.00", "C10.06.00", "C10.07.00", "C10.08.00", "C11.00.00", "C11.01.00", "C11.02.00", "C11.02.01", "C11.02.02", "C11.03.00", "C11.03.01", "C11.03.02", "C11.04.00", "C11.05.00", "C11.05.01", "C11.05.02", "C11.05.03", "C11.06.00"])
unless validator.valid?(code)
fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/sas/appointment.rb b/generator_ruby/gem/lib/hubsanteModel/models/sas/appointment.rb
new file mode 100644
index 0000000000..8dc5657d58
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/sas/appointment.rb
@@ -0,0 +1,465 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Sas
+ class Appointment
+ # Un identifiant technique unique par RDV est transmis. Cet identifiant est dĂ©fini par la plateforme numĂ©rique SAS et peut prendre la forme dâun UUID par exemple. La solution Ă©diteur devra sâappuyer sur cet ID pour la gestion des requĂȘtes de mises Ă jour.
+ attr_accessor :appointment_id
+
+ # Indique un message de création ou de modification du rendez-vous
+ attr_accessor :method
+
+ # Indique la date et lâheure de la prise de RDV
+ attr_accessor :created
+
+ # Indique la date et lâhoraire de dĂ©but du rendez-vous
+ attr_accessor :start
+
+ # Indique la date et lâhoraire de fin du rendez-vous
+ attr_accessor :_end
+
+ # Indique le statut du rendez-vous
+ attr_accessor :status
+
+ # Indique la catĂ©gorie de lâorientation de rendez-vous
+ attr_accessor :orientation_category
+
+ attr_accessor :practitioner
+
+ attr_accessor :organization
+
+ attr_accessor :regulator
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'appointment_id' => :'appointmentId',
+ :'method' => :'method',
+ :'created' => :'created',
+ :'start' => :'start',
+ :'_end' => :'end',
+ :'status' => :'status',
+ :'orientation_category' => :'orientationCategory',
+ :'practitioner' => :'practitioner',
+ :'organization' => :'organization',
+ :'regulator' => :'regulator'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'appointment_id' => :'String',
+ :'method' => :'String',
+ :'created' => :'Time',
+ :'start' => :'Time',
+ :'_end' => :'Time',
+ :'status' => :'String',
+ :'orientation_category' => :'String',
+ :'practitioner' => :'Practitioner',
+ :'organization' => :'Organization',
+ :'regulator' => :'Regulator'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sas::Appointment` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sas::Appointment`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'appointment_id')
+ self.appointment_id = attributes[:'appointment_id']
+ else
+ self.appointment_id = nil
+ end
+
+ if attributes.key?(:'method')
+ self.method = attributes[:'method']
+ else
+ self.method = nil
+ end
+
+ if attributes.key?(:'created')
+ self.created = attributes[:'created']
+ else
+ self.created = nil
+ end
+
+ if attributes.key?(:'start')
+ self.start = attributes[:'start']
+ else
+ self.start = nil
+ end
+
+ if attributes.key?(:'_end')
+ self._end = attributes[:'_end']
+ end
+
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
+ else
+ self.status = nil
+ end
+
+ if attributes.key?(:'orientation_category')
+ self.orientation_category = attributes[:'orientation_category']
+ end
+
+ if attributes.key?(:'practitioner')
+ self.practitioner = attributes[:'practitioner']
+ end
+
+ if attributes.key?(:'organization')
+ self.organization = attributes[:'organization']
+ end
+
+ if attributes.key?(:'regulator')
+ self.regulator = attributes[:'regulator']
+ else
+ self.regulator = nil
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @appointment_id.nil?
+ invalid_properties.push('invalid value for "appointment_id", appointment_id cannot be nil.')
+ end
+
+ if @method.nil?
+ invalid_properties.push('invalid value for "method", method cannot be nil.')
+ end
+
+ if @created.nil?
+ invalid_properties.push('invalid value for "created", created cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if @created !~ pattern
+ invalid_properties.push("invalid value for \"created\", must conform to the pattern #{pattern}.")
+ end
+
+ if @start.nil?
+ invalid_properties.push('invalid value for "start", start cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if @start !~ pattern
+ invalid_properties.push("invalid value for \"start\", must conform to the pattern #{pattern}.")
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if !@_end.nil? && @_end !~ pattern
+ invalid_properties.push("invalid value for \"_end\", must conform to the pattern #{pattern}.")
+ end
+
+ if @status.nil?
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
+ end
+
+ if @regulator.nil?
+ invalid_properties.push('invalid value for "regulator", regulator cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @appointment_id.nil?
+ return false if @method.nil?
+ method_validator = EnumAttributeValidator.new('String', ["CreateAppointment", "UpdateAppointment"])
+ return false unless method_validator.valid?(@method)
+ return false if @created.nil?
+ return false if @created !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ return false if @start.nil?
+ return false if @start !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ return false if !@_end.nil? && @_end !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ return false if @status.nil?
+ status_validator = EnumAttributeValidator.new('String', ["pending", "booked", "fulfilled", "noshow", "cancelled"])
+ return false unless status_validator.valid?(@status)
+ orientation_category_validator = EnumAttributeValidator.new('String', ["CPTS", "MSP", "CDS", "SOS", "PS", "PDM"])
+ return false unless orientation_category_validator.valid?(@orientation_category)
+ return false if @regulator.nil?
+ true
+ end
+
+ # Custom attribute writer method checking allowed values (enum).
+ # @param [Object] method Object to be assigned
+ def method=(method)
+ validator = EnumAttributeValidator.new('String', ["CreateAppointment", "UpdateAppointment"])
+ unless validator.valid?(method)
+ fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
+ end
+ @method = method
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] created Value to be assigned
+ def created=(created)
+ if created.nil?
+ fail ArgumentError, 'created cannot be nil'
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if created !~ pattern
+ fail ArgumentError, "invalid value for \"created\", must conform to the pattern #{pattern}."
+ end
+
+ @created = created
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] start Value to be assigned
+ def start=(start)
+ if start.nil?
+ fail ArgumentError, 'start cannot be nil'
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if start !~ pattern
+ fail ArgumentError, "invalid value for \"start\", must conform to the pattern #{pattern}."
+ end
+
+ @start = start
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] _end Value to be assigned
+ def _end=(_end)
+ if _end.nil?
+ fail ArgumentError, '_end cannot be nil'
+ end
+
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
+ if _end !~ pattern
+ fail ArgumentError, "invalid value for \"_end\", must conform to the pattern #{pattern}."
+ end
+
+ @_end = _end
+ end
+
+ # Custom attribute writer method checking allowed values (enum).
+ # @param [Object] status Object to be assigned
+ def status=(status)
+ validator = EnumAttributeValidator.new('String', ["pending", "booked", "fulfilled", "noshow", "cancelled"])
+ unless validator.valid?(status)
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
+ end
+ @status = status
+ end
+
+ # Custom attribute writer method checking allowed values (enum).
+ # @param [Object] orientation_category Object to be assigned
+ def orientation_category=(orientation_category)
+ validator = EnumAttributeValidator.new('String', ["CPTS", "MSP", "CDS", "SOS", "PS", "PDM"])
+ unless validator.valid?(orientation_category)
+ fail ArgumentError, "invalid value for \"orientation_category\", must be one of #{validator.allowable_values}."
+ end
+ @orientation_category = orientation_category
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ appointment_id == o.appointment_id &&
+ method == o.method &&
+ created == o.created &&
+ start == o.start &&
+ _end == o._end &&
+ status == o.status &&
+ orientation_category == o.orientation_category &&
+ practitioner == o.practitioner &&
+ organization == o.organization &&
+ regulator == o.regulator
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [appointment_id, method, created, start, _end, status, orientation_category, practitioner, organization, regulator].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Sas.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/sas/appointment_wrapper.rb b/generator_ruby/gem/lib/hubsanteModel/models/sas/appointment_wrapper.rb
new file mode 100644
index 0000000000..fffefa9b23
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/sas/appointment_wrapper.rb
@@ -0,0 +1,221 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Sas
+ class AppointmentWrapper
+ attr_accessor :appointment
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'appointment' => :'appointment'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'appointment' => :'Appointment'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sas::AppointmentWrapper` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sas::AppointmentWrapper`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'appointment')
+ self.appointment = attributes[:'appointment']
+ else
+ self.appointment = nil
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @appointment.nil?
+ invalid_properties.push('invalid value for "appointment", appointment cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @appointment.nil?
+ true
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ appointment == o.appointment
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [appointment].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Sas.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/sas/organization.rb b/generator_ruby/gem/lib/hubsanteModel/models/sas/organization.rb
new file mode 100644
index 0000000000..31e6bd3bf7
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/sas/organization.rb
@@ -0,0 +1,239 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Sas
+ class Organization
+ # Indique l'identifiant national de la structure
+ attr_accessor :organization_id
+
+ # Indique le nom de la structure
+ attr_accessor :name
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'organization_id' => :'organizationId',
+ :'name' => :'name'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'organization_id' => :'String',
+ :'name' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sas::Organization` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sas::Organization`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'organization_id')
+ self.organization_id = attributes[:'organization_id']
+ else
+ self.organization_id = nil
+ end
+
+ if attributes.key?(:'name')
+ self.name = attributes[:'name']
+ else
+ self.name = nil
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @organization_id.nil?
+ invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
+ end
+
+ if @name.nil?
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @organization_id.nil?
+ return false if @name.nil?
+ true
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ organization_id == o.organization_id &&
+ name == o.name
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [organization_id, name].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Sas.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/sas/practitioner.rb b/generator_ruby/gem/lib/hubsanteModel/models/sas/practitioner.rb
new file mode 100644
index 0000000000..c626605aab
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/sas/practitioner.rb
@@ -0,0 +1,317 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Sas
+ class Practitioner
+ # Identifiant national (RPPS) du PS
+ attr_accessor :rpps_id
+
+ # Nom du professionnel de santé
+ attr_accessor :last_name
+
+ # Prénom du professionnel de santé
+ attr_accessor :first_name
+
+ # Code de la spécialité du professionnel de santé
+ attr_accessor :speciality_code
+
+ # Url de la terminologie utilisée pour la spécialité
+ attr_accessor :speciality_url
+
+ # Code de la profession du professionnel de santé
+ attr_accessor :profession_code
+
+ # Url de la terminologie utilisée pour la profession
+ attr_accessor :profession_url
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'rpps_id' => :'rppsId',
+ :'last_name' => :'lastName',
+ :'first_name' => :'firstName',
+ :'speciality_code' => :'specialityCode',
+ :'speciality_url' => :'specialityUrl',
+ :'profession_code' => :'professionCode',
+ :'profession_url' => :'professionUrl'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'rpps_id' => :'String',
+ :'last_name' => :'String',
+ :'first_name' => :'String',
+ :'speciality_code' => :'String',
+ :'speciality_url' => :'String',
+ :'profession_code' => :'String',
+ :'profession_url' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sas::Practitioner` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sas::Practitioner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'rpps_id')
+ self.rpps_id = attributes[:'rpps_id']
+ else
+ self.rpps_id = nil
+ end
+
+ if attributes.key?(:'last_name')
+ self.last_name = attributes[:'last_name']
+ else
+ self.last_name = nil
+ end
+
+ if attributes.key?(:'first_name')
+ self.first_name = attributes[:'first_name']
+ else
+ self.first_name = nil
+ end
+
+ if attributes.key?(:'speciality_code')
+ self.speciality_code = attributes[:'speciality_code']
+ end
+
+ if attributes.key?(:'speciality_url')
+ self.speciality_url = attributes[:'speciality_url']
+ end
+
+ if attributes.key?(:'profession_code')
+ self.profession_code = attributes[:'profession_code']
+ end
+
+ if attributes.key?(:'profession_url')
+ self.profession_url = attributes[:'profession_url']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @rpps_id.nil?
+ invalid_properties.push('invalid value for "rpps_id", rpps_id cannot be nil.')
+ end
+
+ pattern = Regexp.new(/^81[0-9]{10}$/)
+ if @rpps_id !~ pattern
+ invalid_properties.push("invalid value for \"rpps_id\", must conform to the pattern #{pattern}.")
+ end
+
+ if @last_name.nil?
+ invalid_properties.push('invalid value for "last_name", last_name cannot be nil.')
+ end
+
+ if @first_name.nil?
+ invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @rpps_id.nil?
+ return false if @rpps_id !~ Regexp.new(/^81[0-9]{10}$/)
+ return false if @last_name.nil?
+ return false if @first_name.nil?
+ true
+ end
+
+ # Custom attribute writer method with validation
+ # @param [Object] rpps_id Value to be assigned
+ def rpps_id=(rpps_id)
+ if rpps_id.nil?
+ fail ArgumentError, 'rpps_id cannot be nil'
+ end
+
+ pattern = Regexp.new(/^81[0-9]{10}$/)
+ if rpps_id !~ pattern
+ fail ArgumentError, "invalid value for \"rpps_id\", must conform to the pattern #{pattern}."
+ end
+
+ @rpps_id = rpps_id
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ rpps_id == o.rpps_id &&
+ last_name == o.last_name &&
+ first_name == o.first_name &&
+ speciality_code == o.speciality_code &&
+ speciality_url == o.speciality_url &&
+ profession_code == o.profession_code &&
+ profession_url == o.profession_url
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [rpps_id, last_name, first_name, speciality_code, speciality_url, profession_code, profession_url].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Sas.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/sas/regulator.rb b/generator_ruby/gem/lib/hubsanteModel/models/sas/regulator.rb
new file mode 100644
index 0000000000..45f0e3fad6
--- /dev/null
+++ b/generator_ruby/gem/lib/hubsanteModel/models/sas/regulator.rb
@@ -0,0 +1,266 @@
+=begin
+#OpenAPI
+
+#OpenAPI
+
+The version of the OpenAPI document: 0.0.1
+
+Generated by: https://openapi-generator.tech
+Generator version: 7.10.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Sas
+ class Regulator
+ # Identifiant du régulateur ayant pris le RDV
+ attr_accessor :regulator_id
+
+ # Nom du régulateur ayant pris le RDV
+ attr_accessor :regulator_name
+
+ # Prénom du régulateur ayant pris le RDV
+ attr_accessor :regulator_firstname
+
+ # Adresse mail du régulateur ayant pris le RDV
+ attr_accessor :regulator_email
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'regulator_id' => :'regulatorId',
+ :'regulator_name' => :'regulatorName',
+ :'regulator_firstname' => :'regulatorFirstname',
+ :'regulator_email' => :'regulatorEmail'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about
+ def self.acceptable_attributes
+ attribute_map.values
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'regulator_id' => :'String',
+ :'regulator_name' => :'String',
+ :'regulator_firstname' => :'String',
+ :'regulator_email' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ ])
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sas::Regulator` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sas::Regulator`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ if attributes.key?(:'regulator_id')
+ self.regulator_id = attributes[:'regulator_id']
+ end
+
+ if attributes.key?(:'regulator_name')
+ self.regulator_name = attributes[:'regulator_name']
+ else
+ self.regulator_name = nil
+ end
+
+ if attributes.key?(:'regulator_firstname')
+ self.regulator_firstname = attributes[:'regulator_firstname']
+ else
+ self.regulator_firstname = nil
+ end
+
+ if attributes.key?(:'regulator_email')
+ self.regulator_email = attributes[:'regulator_email']
+ else
+ self.regulator_email = nil
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
+ invalid_properties = Array.new
+ if @regulator_name.nil?
+ invalid_properties.push('invalid value for "regulator_name", regulator_name cannot be nil.')
+ end
+
+ if @regulator_firstname.nil?
+ invalid_properties.push('invalid value for "regulator_firstname", regulator_firstname cannot be nil.')
+ end
+
+ if @regulator_email.nil?
+ invalid_properties.push('invalid value for "regulator_email", regulator_email cannot be nil.')
+ end
+
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ return false if @regulator_name.nil?
+ return false if @regulator_firstname.nil?
+ return false if @regulator_email.nil?
+ true
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ regulator_id == o.regulator_id &&
+ regulator_name == o.regulator_name &&
+ regulator_firstname == o.regulator_firstname &&
+ regulator_email == o.regulator_email
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [regulator_id, regulator_name, regulator_firstname, regulator_email].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = nil
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
+ end
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
+ end
+ end
+ new(transformed_hash)
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def self._deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Sas.const_get(type)
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+
+end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/technical/technical.rb b/generator_ruby/gem/lib/hubsanteModel/models/technical/technical.rb
index a7793e9cbc..51502ea10f 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/technical/technical.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/technical/technical.rb
@@ -266,7 +266,7 @@ def list_invalid_properties
invalid_properties.push("invalid value for \"date_field\", must conform to the pattern #{pattern}.")
end
- pattern = Regexp.new(/^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/)
+ pattern = Regexp.new(/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/)
if !@email_field.nil? && @email_field !~ pattern
invalid_properties.push("invalid value for \"email_field\", must conform to the pattern #{pattern}.")
end
@@ -291,7 +291,7 @@ def valid?
return false if !@array_with_max_length.nil? && @array_with_max_length.length > 5
return false if !@phone_number_field.nil? && @phone_number_field !~ Regexp.new(/^\+?[0-9]{2,14}$/)
return false if !@date_field.nil? && @date_field !~ Regexp.new(/^\d{4}-\d{2}-\d{2}$/)
- return false if !@email_field.nil? && @email_field !~ Regexp.new(/^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/)
+ return false if !@email_field.nil? && @email_field !~ Regexp.new(/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/)
return false if !@datetime_field.nil? && @datetime_field !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
nomenclature_field_validator = EnumAttributeValidator.new('String', ["M", "F", "O", "UN"])
return false unless nomenclature_field_validator.valid?(@nomenclature_field)
@@ -373,7 +373,7 @@ def email_field=(email_field)
fail ArgumentError, 'email_field cannot be nil'
end
- pattern = Regexp.new(/^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/)
+ pattern = Regexp.new(/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/)
if email_field !~ pattern
fail ArgumentError, "invalid value for \"email_field\", must conform to the pattern #{pattern}."
end
diff --git a/generator_ruby/gem/lib/hubsanteModel/models/technicalnoreq/technical_noreq.rb b/generator_ruby/gem/lib/hubsanteModel/models/technicalnoreq/technical_noreq.rb
index 49adbc8bec..a223a01c83 100644
--- a/generator_ruby/gem/lib/hubsanteModel/models/technicalnoreq/technical_noreq.rb
+++ b/generator_ruby/gem/lib/hubsanteModel/models/technicalnoreq/technical_noreq.rb
@@ -231,7 +231,7 @@ def list_invalid_properties
invalid_properties.push("invalid value for \"date_field\", must conform to the pattern #{pattern}.")
end
- pattern = Regexp.new(/^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/)
+ pattern = Regexp.new(/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/)
if !@email_field.nil? && @email_field !~ pattern
invalid_properties.push("invalid value for \"email_field\", must conform to the pattern #{pattern}.")
end
@@ -253,7 +253,7 @@ def valid?
return false if !@array_with_max_length.nil? && @array_with_max_length.length > 5
return false if !@phone_number_field.nil? && @phone_number_field !~ Regexp.new(/^\+?[0-9]{2,14}$/)
return false if !@date_field.nil? && @date_field !~ Regexp.new(/^\d{4}-\d{2}-\d{2}$/)
- return false if !@email_field.nil? && @email_field !~ Regexp.new(/^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/)
+ return false if !@email_field.nil? && @email_field !~ Regexp.new(/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/)
return false if !@datetime_field.nil? && @datetime_field !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$/)
nomenclature_field_validator = EnumAttributeValidator.new('String', ["M", "F", "O", "UN"])
return false unless nomenclature_field_validator.valid?(@nomenclature_field)
@@ -321,7 +321,7 @@ def email_field=(email_field)
fail ArgumentError, 'email_field cannot be nil'
end
- pattern = Regexp.new(/^[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}$/)
+ pattern = Regexp.new(/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9_-]{2,4}$/)
if email_field !~ pattern
fail ArgumentError, "invalid value for \"email_field\", must conform to the pattern #{pattern}."
end
diff --git a/src/main/resources/json-schema/EMSI.schema.json b/src/main/resources/json-schema/EMSI.schema.json
index 9e192aecf0..df1bf0c4eb 100644
--- a/src/main/resources/json-schema/EMSI.schema.json
+++ b/src/main/resources/json-schema/EMSI.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "EMSI.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "emsi",
diff --git a/src/main/resources/json-schema/GEO-POS.schema.json b/src/main/resources/json-schema/GEO-POS.schema.json
index 17293048aa..bd59f21f60 100644
--- a/src/main/resources/json-schema/GEO-POS.schema.json
+++ b/src/main/resources/json-schema/GEO-POS.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "GEO-POS.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "geoPositionsUpdate",
diff --git a/src/main/resources/json-schema/GEO-REQ.schema.json b/src/main/resources/json-schema/GEO-REQ.schema.json
index b85acd7b10..2ab0f1c428 100644
--- a/src/main/resources/json-schema/GEO-REQ.schema.json
+++ b/src/main/resources/json-schema/GEO-REQ.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "GEO-REQ.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "geoResourcesRequest",
diff --git a/src/main/resources/json-schema/GEO-RES.schema.json b/src/main/resources/json-schema/GEO-RES.schema.json
index 9a23cf52d4..c74cadb01f 100644
--- a/src/main/resources/json-schema/GEO-RES.schema.json
+++ b/src/main/resources/json-schema/GEO-RES.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "GEO-RES.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "geoResourcesDetails",
diff --git a/src/main/resources/json-schema/RC-DE.schema.json b/src/main/resources/json-schema/RC-DE.schema.json
index e7608a2f79..bcdd18c826 100644
--- a/src/main/resources/json-schema/RC-DE.schema.json
+++ b/src/main/resources/json-schema/RC-DE.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RC-DE.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "distributionElement",
diff --git a/src/main/resources/json-schema/RC-EDA.schema.json b/src/main/resources/json-schema/RC-EDA.schema.json
index fbbb8af904..0e8cc2e793 100644
--- a/src/main/resources/json-schema/RC-EDA.schema.json
+++ b/src/main/resources/json-schema/RC-EDA.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RC-EDA.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "createCase",
diff --git a/src/main/resources/json-schema/RC-REF.schema.json b/src/main/resources/json-schema/RC-REF.schema.json
index 08810bc078..51e3880582 100644
--- a/src/main/resources/json-schema/RC-REF.schema.json
+++ b/src/main/resources/json-schema/RC-REF.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RC-REF.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "reference",
diff --git a/src/main/resources/json-schema/RC-RI.schema.json b/src/main/resources/json-schema/RC-RI.schema.json
index 5be90dc614..496798b857 100644
--- a/src/main/resources/json-schema/RC-RI.schema.json
+++ b/src/main/resources/json-schema/RC-RI.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RC-RI.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "resourcesInfoCisu",
diff --git a/src/main/resources/json-schema/RS-BPV.schema.json b/src/main/resources/json-schema/RS-BPV.schema.json
index 3f778d8e74..60dadfcf55 100644
--- a/src/main/resources/json-schema/RS-BPV.schema.json
+++ b/src/main/resources/json-schema/RS-BPV.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-BPV.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "interventionReport",
diff --git a/src/main/resources/json-schema/RS-DR.schema.json b/src/main/resources/json-schema/RS-DR.schema.json
index d8615291c7..a97c733294 100644
--- a/src/main/resources/json-schema/RS-DR.schema.json
+++ b/src/main/resources/json-schema/RS-DR.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-DR.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "resourcesRequest",
diff --git a/src/main/resources/json-schema/RS-EDA-MAJ.schema.json b/src/main/resources/json-schema/RS-EDA-MAJ.schema.json
index afd7cafa53..45a44380d4 100644
--- a/src/main/resources/json-schema/RS-EDA-MAJ.schema.json
+++ b/src/main/resources/json-schema/RS-EDA-MAJ.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-EDA-MAJ.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "createCaseHealthUpdate",
diff --git a/src/main/resources/json-schema/RS-EDA.schema.json b/src/main/resources/json-schema/RS-EDA.schema.json
index f16bc447b7..f4bdc88c21 100644
--- a/src/main/resources/json-schema/RS-EDA.schema.json
+++ b/src/main/resources/json-schema/RS-EDA.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-EDA.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "createCaseHealth",
diff --git a/src/main/resources/json-schema/RS-ER.schema.json b/src/main/resources/json-schema/RS-ER.schema.json
index 62af9e2d9e..06d6e8d5ab 100644
--- a/src/main/resources/json-schema/RS-ER.schema.json
+++ b/src/main/resources/json-schema/RS-ER.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-ER.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "resourcesEngagement",
diff --git a/src/main/resources/json-schema/RS-ERROR.schema.json b/src/main/resources/json-schema/RS-ERROR.schema.json
index 68edbe90b2..b70d7ef6b1 100644
--- a/src/main/resources/json-schema/RS-ERROR.schema.json
+++ b/src/main/resources/json-schema/RS-ERROR.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-ERROR.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "error",
diff --git a/src/main/resources/json-schema/RS-RI.schema.json b/src/main/resources/json-schema/RS-RI.schema.json
index 5afe28bc51..cbb848da26 100644
--- a/src/main/resources/json-schema/RS-RI.schema.json
+++ b/src/main/resources/json-schema/RS-RI.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-RI.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "resourcesInfo",
diff --git a/src/main/resources/json-schema/RS-RPIS.schema.json b/src/main/resources/json-schema/RS-RPIS.schema.json
index e45f0dee0f..44b01cea14 100644
--- a/src/main/resources/json-schema/RS-RPIS.schema.json
+++ b/src/main/resources/json-schema/RS-RPIS.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-RPIS.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "rpis",
diff --git a/src/main/resources/json-schema/RS-RR.schema.json b/src/main/resources/json-schema/RS-RR.schema.json
index f842935870..2e1de73299 100644
--- a/src/main/resources/json-schema/RS-RR.schema.json
+++ b/src/main/resources/json-schema/RS-RR.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-RR.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "resourcesResponse",
diff --git a/src/main/resources/json-schema/RS-SAS-RDV.schema.json b/src/main/resources/json-schema/RS-SAS-RDV.schema.json
index c95230956f..ee421264d1 100644
--- a/src/main/resources/json-schema/RS-SAS-RDV.schema.json
+++ b/src/main/resources/json-schema/RS-SAS-RDV.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-SAS-RDV.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "appointment",
diff --git a/src/main/resources/json-schema/RS-SR.schema.json b/src/main/resources/json-schema/RS-SR.schema.json
index 04df05b261..751255b5a0 100644
--- a/src/main/resources/json-schema/RS-SR.schema.json
+++ b/src/main/resources/json-schema/RS-SR.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-SR.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "resourcesStatus",
diff --git a/src/main/resources/json-schema/RS-URL.schema.json b/src/main/resources/json-schema/RS-URL.schema.json
index b33491047e..5dd83d13e4 100644
--- a/src/main/resources/json-schema/RS-URL.schema.json
+++ b/src/main/resources/json-schema/RS-URL.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "RS-URL.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "documentLink",
diff --git a/src/main/resources/json-schema/TECHNICAL.schema.json b/src/main/resources/json-schema/TECHNICAL.schema.json
index 4a7329e997..d0a67d4626 100644
--- a/src/main/resources/json-schema/TECHNICAL.schema.json
+++ b/src/main/resources/json-schema/TECHNICAL.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "TECHNICAL.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "technical",
diff --git a/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json b/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json
index 2694313e8b..26b87cfeec 100644
--- a/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json
+++ b/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "TECHNICAL_NOREQ.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "technicalNoreq",
diff --git a/src/main/resources/json-schema/customContent.schema.json b/src/main/resources/json-schema/customContent.schema.json
index 7bd1090785..e4a13989e6 100644
--- a/src/main/resources/json-schema/customContent.schema.json
+++ b/src/main/resources/json-schema/customContent.schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "classpath:/json-schema/schema#",
"x-id": "customContent.schema.json#",
- "version": "25.11.14",
+ "version": "25.12.02",
"example": "example.json#",
"type": "object",
"title": "customContent",