Data Management with FHIR
0.1.0 - ci-build France flag

Data Management with FHIR - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

StructureMap: Cette ressource présente les spécifications de l''alignement entre la ressource `Patient` vers les tables correspodantes du CDM OMOP.

Official URL: https://interop.aphp.fr/ig/fhir/dm/StructureMap/CoreFHIRPatient2OMOP Version: 0.1.0
Draft as of 2025-10-23 Computable Name: CoreFHIRPatient2OMOP

Cette ressource présente les spécifications de l''alignement entre la ressource Patient vers les tables correspodantes du CDM OMOP.

map "https://interop.aphp.fr/ig/fhir/dm/StructureMap/CoreFHIRPatient2OMOP" = "CoreFHIRPatient2OMOP"

// Cette ressource présente les spécifications de l''alignement entre la ressource `Patient` vers les tables correspodantes du CDM OMOP.

uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as source
uses "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/LogicalBundle" alias LogicalBundle as target
uses "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/OMOPPerson" alias PersonTable as target
uses "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/OMOPLocation" alias LocationTable as target
uses "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/OMOPDeath" alias DeathTable as target

imports "https://interop.aphp.fr/ig/fhir/dm/StructureMap/CoreFHIR2OMOPPerson"
imports "https://interop.aphp.fr/ig/fhir/dm/StructureMap/CoreFHIR2OMOPLocation"
imports "https://interop.aphp.fr/ig/fhir/dm/StructureMap/CoreFHIR2OMOPDeath"

group Patient(source src : Patient, target tgtBundle : LogicalBundle) <<types>> {
  src -> tgtBundle.entry as newEntry then {
    src -> newEntry.person = create('PersonTable') as newPerson then {
      src then Person(src, newPerson) "transformPerson";
    } "createPerson";
    src.address as srcAddress where (use = 'home') and period.end.empty() -> newEntry.location = create('LocationTable') as newLocation then {
      srcAddress then Location(srcAddress, newLocation) "transformLocation";
    } "createLocation";
    src where deceased.is(System.DateTime) or deceased.is(System.Boolean) -> newEntry.death = create('DeathTable') as newDeath then {
      src then Death(src, newDeath) "transformDeath";
    } "createDeath";
  } "newEntry";
}