OpenELIS GLOBAL2 Implementation Guide
0.1.0 - ci-build

OpenELIS GLOBAL2 Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: OpenElisSpecimen - Mappings

Draft as of 2024-12-11

Mappings for the open-elis-specimen resource profile.

Mappings for OpenELIS Vs FHIR (http://i-tech-uw.github.io/openelis-global-ig/StructureDefinition/open-elis-specimen)

Specimen Mapping shows how attributes of FHIR Specimen Resource maps to and from the attributes of OpenElis SampleItem Object.

OpenElisSpecimen
SpecimenOE Specimen

This profile maps FHIR Specimen to OE DataExchange.

   idSampleItem.fhirUuid
   accessionIdentifier
      valueSampleItem.sample.accessionNumber
   type
      coding
         codeSampleItem.typeOfSample.localAbbreviation
         displaySampleItem.typeOfSample.localizedName
   subjectPatient
   requestAnalysis
   collectionSampleItem.collectionDate

Mappings for RIM Mapping (http://hl7.org/v3)

OpenElisSpecimen
SpecimenEntity. Role, or Act, Role[classCode=SPEC]
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   identifier (uuid).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   accessionIdentifier.participation[typeCode=SBJ].act[classCode=ACSN, moodCode=EVN].id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   statusstatus
   type.code
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   subject.scoper or .scoper.playsRole
   receivedTime.participation[typeCode=SBJ].act[code=SPCREC, moodCode=EVN].effectiveTime
   parent.scoper (if parent) .player.scopesRole[classCode=SPEC].player (if child)
   requestoutboundRelationship[typeCode=FLFS].target
   collection.participation[typeCode=SBJ].act[classCode=SPECCOLLECT, moodCode=EVN]
      idn/a
      extensionn/a
      modifierExtensionN/A
      collector.participation[typeCode=PFM].role
      collected[x].effectiveTime
      collected[x] (collectedDateTime).effectiveTime
      quantity.participation[typeCode=SBJ].role[classCode=SPEC].player.quantity
      method.methodCode
      bodySite.targetSiteCode
   processing.participation[typeCode=SBJ].act[code=SPCTRT, moodCode=EVN]
      idn/a
      extensionn/a
      modifierExtensionN/A
      description.text
      procedure.code
      additive.participation[typeCode=CSM].role[classCode=ADTV].code
      time[x].effectiveTime
   container.player.scopingRole[classCode=CONT].scoper
      idn/a
      extensionn/a
      modifierExtensionN/A
      identifier.id
      description.desc
      type.code
      capacity.quantity
      specimenQuantity.playedRole[classCode=CONT].quantity
      additive[x].scopesRole[classCode=ADTV].player
   note.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

OpenElisSpecimen
Specimen
   identifierFiveWs.identifier
   identifier (uuid)FiveWs.identifier
   accessionIdentifierFiveWs.identifier
   statusFiveWs.status
   typeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   receivedTimeFiveWs.done[x]
   requestFiveWs.why[x]
   collection
      collectorFiveWs.actor
      collected[x]FiveWs.init
      collected[x] (collectedDateTime)FiveWs.init
      durationFiveWs.init

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

OpenElisSpecimen
Specimen
   identifierSPM-2
   identifier (uuid)SPM-2
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   accessionIdentifierSPM-30 (v2.7+)
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   statusSPM-20
   typeSPM-4 and possibly SPM-5
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   receivedTimeSPM-18
   requestORC? OBR-2/3?
   collectionSPM-14
      collectorPRT
      collected[x]SPM-17
      collected[x] (collectedDateTime)SPM-17
      quantitySPM-12
      methodSPM-7
      bodySiteSPM-8 and SPM-9
      fastingStatus[x]OBR-
   processing
      additiveSPM-6
   container
      identifierSAC-3
      typeSPM-27
      capacityone of: SAC 16, SAC17 and SAC 20, or SAC 21 and SAC 20
      specimenQuantitySAC-23 (value) SAC-24 (units
      additive[x]SAC-27
   conditionSPM-24
   noteOBX