# Service Iris Healthtoolkit
[![Vidéo](https://raw.githubusercontent.com/grongierisc/iris-healthtoolkit-service/main/misc/images/Cover.png)](https://youtu.be/lr2B7zSFkds "Video")
Utilisation facile de HL7v2 vers FHIR, CDA vers FHIR, FHIR vers HL7v2 en tant que service.
L'objectif de ce projet est de fournir une API REST capable de convertir facilement divers formats de santé.
Publiez le format souhaité dans le corps REST, obtenez la réponse dans le nouveau format.
* Version officielle : https://aws.amazon.com/marketplace/pp/prodview-q7ryewpz75cq2 :fire:
* Vidéo : https://youtu.be/lr2B7zSFkds :tv:
## Installation
Clonez ce référentiel
```
git clone https://github.com/grongierisc/iris-healthtoolkit-service.git
```
Docker
```
docker-compose up --build -d
```
## Utilisation
* Atteignez : http://localhost:32783/swagger-ui/index.html
## Détails de l'Api
### HL7 vers FHIR
```
POST http://localhost:32783/api/hl7/fhir
```
#### Exemple
Saisie
```text
MSH|^~\&||^^NPI|||20211105165829+0000||ADT^A01|66053,61109.396628|P|2.5.1|||AL|AL|||||PH_SS-Ack^SS Sender^2.16.840.1.114222.4.10.3^ISO
EVN||202111051658|||||^^NPI
PID|1||060a6bd5-5146-4b08-a916-009858997bd3^^^https://github.com/synthetichealth/synthea^~060a6bd5-5146-4b08-a916-009858997bd3^^^http://hospital.smarthealthit.org^MR~999-97-4582^^^&^SS~S99986284^^^&^DL~X84330364X^^^&^PPN||Masson^Livia^^^Mrs.^^||19920820|F|Simon^Livia^^||615 Avenue Lemaire^^Lyon^Auvergne-Rhone-Alpes^63000||^PRN^PH^^^555^286|||||||||||||||||||||
PV1|1|O||424441002|||||||||||||||1^^^&&^VN|||||||||||||||||||||||||200812312325|20090101044004
PV2|||72892002^Grossesse normale^SCT
OBX|1||8302-2^Taille du corps^LN||20101014002504^^|cm^^UCUM|||||F|||20101014
OBX|2||72514-3^Gravite de la douleur - 0-10 evaluation numerique verbale [Score] - Signaleee^LN||20101014002504^^|{score}^^UCUM|||||F|||20101014
OBX|3||29463-7^Poids corporel^LN||20101014002504^^|kg^^UCUM|||||F|||20101014
OBX|4||39156-5^Indice de masse corporelle^LN||20101014002504^^|kg/m2^^UCUM|||||F|||20101014
OBX|5||72166-2^Statut du tabagisme^LN||20171026002504^Ancien fumeur^SCT^^^^^^Ancien fumeur||||||F|||20171026
```
Sortie
```json
{
"typeDeRessource": "Paquet",
"type": "transaction",
"saisie": [
{
"demande": {
"méthode": "POST",
"url": "Organisation"
},
"UrlComplète": "urn:uuid:347a0c88-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Organisation",
"identifiant": [
{
"valeur": "https://github.com/synthetichealth/synthea"
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "Organisation"
},
"UrlComplète": "urn:uuid:34d03d1a-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Organisation",
"identifiant": [
{
"valeur": "http://hospital.smarthealthit.org"
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "Patient"
},
"UrlComplète": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Patient",
"adresse": [
{
"ville": "Lyon",
"ligne": [
"615 Avenue Lemaire"
],
"codePostal": "63000",
"région": "Auvergne-Rhone-Alpes"
}
],
"dateDeNaissance": "1992-08-20",
"sex": "femme",
"identifiant": [
{
"assigner": {
"référence": "urn:uuid:347a0c88-e7fa-11ec-9601-0242ac1a0002"
},
"système": "https://github.com/synthetichealth/synthea",
"valeur": "060a6bd5-5146-4b08-a916-009858997bd3"
},
{
"assigner": {
"référence": "urn:uuid:34d03d1a-e7fa-11ec-9601-0242ac1a0002"
},
"système": "http://hospital.smarthealthit.org",
"type": {
"codage": [
{
"code": "MR",
"système": "http://terminology.hl7.org/CodeSystem/v2-0203"
}
],
"texte": "MRN"
},
"valeur": "060a6bd5-5146-4b08-a916-009858997bd3"
},
{
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/patient-number-i-s-o-assigning-authority",
"valeurDeLigne": "&"
}
],
"type": {
"codage": [
{
"code": "SS"
}
],
"texte": "SS"
},
"valeur": "999-97-4582"
},
{
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/patient-number-i-s-o-assigning-authority",
"valeurDeLigne": "&"
}
],
"type": {
"codage": [
{
"code": "DL",
"système": "http://terminology.hl7.org/CodeSystem/v2-0203"
}
],
"texte": "DL"
},
"valeur": "S99986284"
},
{
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/patient-number-i-s-o-assigning-authority",
"valeurDeLigne": "&"
}
],
"type": {
"codage": [
{
"code": "PPN",
"système": "http://terminology.hl7.org/CodeSystem/v2-0203"
}
],
"texte": "PPN"
},
"valeur": "X84330364X"
}
],
"nom": [
{
"famille": "Simon",
"prénom": [
"Livia"
],
"texte": "Livia Simon"
},
{
"famille": "Masson",
"prénom": [
"Livia"
],
"préfixe": [
"Mrs."
],
"texte": "Mrs. Livia Masson",
"utilisation": "officiel"
}
],
"telecom": [
{
"système": "téléphone",
"utilisation": "domicile",
"valeur": "(555) 286"
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "Visite"
},
"UrlComplète": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Visite",
"class": {
"code": "AMB",
"système": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/encounter-encounter-type",
"valeurDeLigne": "O"
},
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/encounter-entered-on",
"valeurDateHeur": "2008-12-31T23:25:00+00:00"
},
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/encounter-to-time",
"valeurDateHeur": "2009-01-01T04:40:04+00:00"
}
],
"identifiant": [
{
"type": {
"texte": "NuméroDeVisite"
},
"utilisation": "officiel",
"valeur": "1"
}
],
"période": {
"lancement": "2008-12-31T23:25:00+00:00"
},
"reasonCode": [
{
"codage": [
{
"code": "72892002",
"affichage": "Grossesse normale",
"système": "http://snomed.info/sct"
}
]
}
],
"état": "inconnu",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"type": [
{
"codage": [
{
"code": "424441002"
}
]
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3a13745e-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"code": {
"codage": [
{
"code": "72166-2",
"affichage": "Statut du tabagisme",
"système": "http://loinc.org"
}
]
},
"effectiveDateHeure": "2017-10-26T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
},
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-observation-coded-value",
"valeurConceptCodifiable": {
"codage": [
{
"code": "20171026002504",
"affichage": "Ancien fumeur",
"système": "http://snomed.info/sct"
}
],
"texte": "Ancien fumeur"
}
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurDeLigne": "Ancien fumeur"
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3b6212fc-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"category": [
{
"codage": [
{
"code": "Signes-vitaux",
"affichage": "Signes vitaux",
"système": "http://terminology.hl7.org/CodeSystem/observation-category"
}
],
"texte": "Signes vitaux"
}
],
"code": {
"codage": [
{
"code": "8302-2",
"affichage": "Taille du corps",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "cm",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3c8aba30-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"code": {
"codage": [
{
"code": "72514-3",
"affichage": "Gravite de la douleur - 0-10 evaluation numerique verbale [Score] - Signaleee",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "{score}",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3de455d0-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"category": [
{
"codage": [
{
"code": "signes -vitaux",
"affichage": "Signes vitaux",
"système": "http://terminology.hl7.org/CodeSystem/observation-category"
}
],
"texte": "Signes vitaux"
}
],
"code": {
"codage": [
{
"code": "29463-7",
"affichage": "Poids corporel",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "kg",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3f501418-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"code": {
"codage": [
{
"code": "39156-5",
"affichage": "Indice de masse corporelle",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "kg/m2",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
}
]
}
```
### FHIR vers HL7 ADT
```
POST http://localhost:32783/api/fhir/hl7/adt
```
#### Exemple
```json
{
"typeDeRessource": "Paquet",
"type": "transaction",
"saisie": [
{
"demande": {
"méthode": "POST",
"url": "Organisation"
},
"UrlComplète": "urn:uuid:347a0c88-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Organisation",
"identifiant": [
{
"valeur": "https://github.com/synthetichealth/synthea"
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "Organisation"
},
"UrlComplète": "urn:uuid:34d03d1a-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Organisation",
"identifiant": [
{
"valeur": "http://hospital.smarthealthit.org"
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "Patient"
},
"UrlComplète": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Patient",
"adresse": [
{
"ville": "Lyon",
"ligne": [
"615 Avenue Lemaire"
],
"codePostal": "63000",
"région": "Auvergne-Rhone-Alpes"
}
],
"dateDeNaissance": "1992-08-20",
"sex": "femme",
"identifiant": [
{
"assigner": {
"référence": "urn:uuid:347a0c88-e7fa-11ec-9601-0242ac1a0002"
},
"système": "https://github.com/synthetichealth/synthea",
"valeur": "060a6bd5-5146-4b08-a916-009858997bd3"
},
{
"assigner": {
"référence": "urn:uuid:34d03d1a-e7fa-11ec-9601-0242ac1a0002"
},
"système": "http://hospital.smarthealthit.org",
"type": {
"codage": [
{
"code": "MR",
"système": "http://terminology.hl7.org/CodeSystem/v2-0203"
}
],
"texte": "MRN"
},
"valeur": "060a6bd5-5146-4b08-a916-009858997bd3"
},
{
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/patient-number-i-s-o-assigning-authority",
"valeurDeLigne": "&"
}
],
"type": {
"codage": [
{
"code": "SS"
}
],
"texte": "SS"
},
"valeur": "999-97-4582"
},
{
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/patient-number-i-s-o-assigning-authority",
"valeurDeLigne": "&"
}
],
"type": {
"codage": [
{
"code": "DL",
"système": "http://terminology.hl7.org/CodeSystem/v2-0203"
}
],
"texte": "DL"
},
"valeur": "S99986284"
},
{
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/patient-number-i-s-o-assigning-authority",
"valeurDeLigne": "&"
}
],
"type": {
"codage": [
{
"code": "PPN",
"système": "http://terminology.hl7.org/CodeSystem/v2-0203"
}
],
"texte": "PPN"
},
"valeur": "X84330364X"
}
],
"nom": [
{
"famille": "Simon",
"prénom": [
"Livia"
],
"texte": "Livia Simon"
},
{
"famille": "Masson",
"prénom": [
"Livia"
],
"préfixe": [
"Mrs."
],
"texte": "Mrs. Livia Masson",
"utilisation": "officiel"
}
],
"telecom": [
{
"système": "téléphone",
"utilisation": "domicile",
"valeur": "(555) 286"
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "visite"
},
"UrlComplète": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "visite",
"class": {
"code": "AMB",
"système": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/encounter-encounter-type",
"valeurDeLigne": "O"
},
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/encounter-entered-on",
"valeurDateHeur": "2008-12-31T23:25:00+00:00"
},
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/encounter-to-time",
"valeurDateHeur": "2009-01-01T04:40:04+00:00"
}
],
"identifiant": [
{
"type": {
"texte": "EncounterNumber"
},
"utilisation": "officiel",
"valeur": "1"
}
],
"période": {
"lancement": "2008-12-31T23:25:00+00:00"
},
"reasonCode": [
{
"codage": [
{
"code": "72892002",
"affichage": "Grossesse normale",
"système": "http://snomed.info/sct"
}
]
}
],
"état": "inconnu",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"type": [
{
"codage": [
{
"code": "424441002"
}
]
}
]
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3a13745e-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"code": {
"codage": [
{
"code": "72166-2",
"affichage": "Statut du tabagisme",
"système": "http://loinc.org"
}
]
},
"effectiveDateHeure": "2017-10-26T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
},
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-observation-coded-value",
"valeurConceptCodifiable": {
"codage": [
{
"code": "20171026002504",
"affichage": "Ancien fumeur",
"système": "http://snomed.info/sct"
}
],
"texte": "Ancien fumeur"
}
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurDeLigne": "Ancien fumeur"
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3b6212fc-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"category": [
{
"codage": [
{
"code": "signes-vitaux",
"affichage": "Signes vitaux",
"système": "http://terminology.hl7.org/CodeSystem/observation-category"
}
],
"texte": "Signes vitaux"
}
],
"code": {
"codage": [
{
"code": "8302-2",
"affichage": "Taille du corps",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "cm",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3c8aba30-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"code": {
"codage": [
{
"code": "72514-3",
"affichage": "Gravite de la douleur - 0-10 evaluation numerique verbale [Score] - Signaleee",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "{score}",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3de455d0-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"category": [
{
"codage": [
{
"code": "signes-vitaux",
"affichage": "Signes vitaux",
"système": "http://terminology.hl7.org/CodeSystem/observation-category"
}
],
"texte": "Signes vitaux"
}
],
"code": {
"codage": [
{
"code": "29463-7",
"affichage": "Poids corporel",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "kg",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
},
{
"demande": {
"méthode": "POST",
"url": "Observation"
},
"UrlComplète": "urn:uuid:3f501418-e7fa-11ec-9601-0242ac1a0002",
"ressource": {
"typeDeRessource": "Observation",
"code": {
"codage": [
{
"code": "39156-5",
"affichage": "Indice de masse corporelle",
"système": "http://loinc.org"
}
],
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/code-table-detail-observation-observation-value-units",
"valeurConceptCodifiable": {
"codage": [
{
"code": "kg/m2",
"système": "http://unitsofmeasure.org"
}
]
}
}
]
},
"effectiveDateHeure": "2010-10-14T00:00:00+00:00",
"visite": {
"référence": "urn:uuid:38cf2d40-e7fa-11ec-9601-0242ac1a0002"
},
"extension": [
{
"url": "http://intersystems.com/fhir/extn/sda3/lib/observation-encounter-number",
"valeurDeLigne": "1"
}
],
"état": "final",
"sujet": {
"référence": "urn:uuid:36dd6e2a-e7fa-11ec-9601-0242ac1a0002"
},
"valeurConceptCodifiable": {
"codage": [
{
"code": "20101014002504"
}
]
}
}
}
]
}
```
Sortie
```texte
MSH|^~\&||^^NPI|||20220609134903+0000||^|66269,49743.388133779|P|2.5.1|||AL|AL|||||PH_SS-Ack^SS Sender^2.16.840.1.114222.4.10.3^ISO
EVN||202206091349|||||^^NPI
PID|1||060a6bd5-5146-4b08-a916-009858997bd3^^^https://github.com/s&&ISO^~060a6bd5-5146-4b08-a916-009858997bd3^^^http://hospital.smar&&ISO^MR~999-97-4582^^^&^SS~S99986284^^^&^DL~X84330364X^^^&^PPN||Masson^Livia^^^Mrs.^^||19920820|F|Simon^Livia^^||615 Avenue Lemaire^^^^||^PRN^PH^^^555^286|||||||||||||||||||||
PV1|1|O||424441002|||||||||||||||1^^^&&^VN|||||||||||||||||||||||||200812312325|
PV2|||72892002^Grossesse normale^SCT
OBX|1||72166-2^Statut du tabagisme^LN||^^||||||F|||20171026
OBX|2||8302-2^Taille du corps^LN||^^||||||F|||20101014
OBX|3||72514-3^Gravite de la douleur - 0-10 evaluation numerique verbale [Score] - Signaleee^LN||^^||||||F|||20101014
OBX|4||29463-7^Poids corporel^LN||^^||||||F|||20101014
OBX|5||39156-5^Indice de masse corporelle^LN||^^||||||F|||20101014
```
### FHIR vers HL7 ORU
```
POST http://localhost:32783/api/fhir/hl7/oru
```
### FHIR vers HL7 vxu
```
POST http://localhost:32783/api/fhir/hl7/vxu
```
### CDA vers FHIR
```
POST http://localhost:32783/api/cda/fhir
```
#### Exemple
### Dépôt FHIR
```
GET http://localhost:32783/api/fhir/metadata
```
## Format d'entrée HL7 pris en charge :
* ADT_A01, ADT_A02, ADT_A03, ADT_A04, ADT_A05, ADT_A06, ADT_A07, ADT_A08, ADT_A09, ADT_A10, ADT_A11, ADT_A12, ADT_A13, ADT_A17, ADT_A18, ADT_A23, ADT_A25, ADT_A27, ADT_A28, ADT_A29, ADT_A30, ADT_A31, ADT_A34, ADT_A36, ADT_A39, ADT_A40, ADT_A41, ADT_A45, ADT_A47, ADT_A49, ADT_A50, ADT_A51, ADT_A60
* BAR_P12
* MDM_T02, MDM_T04, MDM_T08, MDM_T11
* OMP_O09
* ORM_O01
* ORU_R01
* PPR_PC1, PPR_PC2, PPR_PC3
* RDE_O11
* SIU_S12, SIU_S13, SIU_S14, SIU_S15, SIU_S16, SIU_S17, SIU_S26
* VXU_V04
## Comment ça marche
Ce projet fonctionne avec le diagramme pivot : SDA.
Le SDA (Summary Document Architecture, Architecture du document de synthèse) est le format de données cliniques d'InterSystems.
Les correspondances SDA <-> FHIR peuvent être consultées [ici](https://docs.intersystems.com/irisforhealthlatest/csp/docbook/Doc.View.cls?KEY=HXFHIR_transforms), et celles de la CDA -> SDA [ici](https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI.Page.cls?KEY=HXCDA).
![gif sda pivot](https://raw.githubusercontent.com/grongierisc/iris-healthtoolkit-service/main/misc/images/Gif_SDA_Pivot.gif)