Écrit par

Sales Engineer at InterSystems
Article Guillaume Rongier · Sept 28, 2022 23m read

HL7v2 vers FHIR, c'est facile !

Service Iris Healthtoolkit

Vidéo

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.

Installation

Clonez ce référentiel

git clone https://github.com/grongierisc/iris-healthtoolkit-service.git

Docker

docker-compose up --build -d

Utilisation

Détails de l'Api

HL7 vers FHIR

POST http://localhost:32783/api/hl7/fhir

Exemple

Saisie

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

{
"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

{
"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
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, et celles de la CDA -> SDA ici.

gif sda pivot