Inera Core Implementation Guide
0.2.0 - ci-build Sweden

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

ConceptMap: ConceptMap GetObservations TKB to FHIR Observation (Experimental)

Official URL: https://inera.se/fhir/core/ConceptMap/getobservations-tkb-to-observation Version: 0.2.0
Draft as of 2025-11-24 Computable Name: ConceptMapGetObservationsTKBToObservation

Complete mapping from GetObservations TKB service to FHIR Observation and Provenance resources

Mapping from https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1 to Observation


Group 1 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1 to Bundle

Source CodeRelationshipTarget CodeComment
patientId (Query parameter: Patient ID filter)(not mapped)NOT MAPPED. Used as search parameter: GET /Observation?subject=Patient/191212121212
careUnitHSAid (Query parameter: Filter by care unit HSA-ID)(not mapped)NOT MAPPED. Used as search parameter: GET /Observation?performer.identifier=https://hsaid.se|SE2321000016-A001
timePeriod (Query parameter: Time period filter (from-to))(not mapped)NOT MAPPED. Used as search parameter: GET /Observation?date=ge2025-01-01&date=le2025-12-31
observationType (Query parameter: Filter by observation type)(not mapped)NOT MAPPED. Used as search parameter: GET /Observation?code=http://loinc.org|85354-9

Group 2 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1 to Observation

Source CodeRelationshipTarget CodeComment
observation.observationHeader.documentId (Observation ID (unique business identifier))is equivalent toidentifierUnique observation identifier within source system. System derived from sourceSystemHSAid.
observation.observationHeader.patientId (Patient ID (personnummer/samordningsnummer))is equivalent tosubjectReference to Patient with Swedish national identifier. OID 1.2.752.129.2.1.3.1 (personnummer), 1.2.752.129.2.1.3.3 (samordningsnummer)
observation.observationHeader.approvedForPatient (Approved for patient access (true/false))is equivalent tometa.securityIf false, add security label NOPATIENT to restrict patient access (menprövningsflagga).
observation.observationBody.observationType (Observation type code (LOINC, NPU, SNOMED CT))is equivalent tocodeObservation code. Preferred: LOINC (http://loinc.org), NPU (http://npu-terminology.org), SNOMED CT (http://snomed.info/sct). Examples: BP 85354-9, HR 8867-4, Temp 8310-5, Weight 29463-7, Height 8302-2
observation.observationBody.observationType.code (Observation code value)is equivalent tocode.coding.codeCode value (e.g., LOINC 8867-4 for heart rate)
observation.observationBody.observationType.codeSystem (Code system OID)is related tocode.coding.systemOID → FHIR URL. LOINC OID 2.16.840.1.113883.6.1 → http://loinc.org, NPU → http://npu-terminology.org, SNOMED CT → http://snomed.info/sct
observation.observationBody.observationType.displayName (Observation name)is equivalent tocode.coding.displayHuman-readable observation name. Also populate code.text.
observation.observationBody.observationCategory (Observation category)is equivalent tocategoryFHIR category: vital-signs, exam, laboratory, procedure, imaging, survey, social-history. System: http://terminology.hl7.org/CodeSystem/observation-category
observation.observationBody.observationStatus (Observation status)maps to wider conceptstatusFHIR ObservationStatus: registered|preliminary|final|amended|corrected|cancelled|entered-in-error|unknown. Swedish status codes may need mapping.
observation.observationBody.observationTime (Observation date/time)is equivalent toeffectiveDateTimeWhen observation was made. Use effectiveDateTime for point in time, effectivePeriod for time range.
observation.observationBody.observationValue.quantity (Observation numeric value with unit)is equivalent tovalueQuantityNumeric value with UCUM unit. valueQuantity.value + valueQuantity.unit + valueQuantity.system (http://unitsofmeasure.org)
observation.observationBody.observationValue.quantity.value (Numeric value)is equivalent tovalueQuantity.valueNumeric measurement value (e.g., 120 for systolic BP)
observation.observationBody.observationValue.quantity.unit (Unit of measure)maps to wider conceptvalueQuantity.unitUnit with UCUM code. Examples: mm[Hg] (blood pressure), /min (heart rate), Cel (temperature), kg (weight), cm (height). System: http://unitsofmeasure.org
observation.observationBody.observationValue.codeableConcept (Coded observation value)is equivalent tovalueCodeableConceptWhen observation value is coded (e.g., interpretation codes, categorical values)
observation.observationBody.observationValue.string (Text observation value)is equivalent tovalueStringFree text value when no structured value available
observation.observationBody.interpretation (Observation interpretation (high, low, normal))is equivalent tointerpretationInterpretation codes from http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation: H (high), L (low), N (normal), HH (critically high), LL (critically low)
observation.observationBody.referenceRange (Reference range (normal values))is equivalent toreferenceRangeNormal range for observation. referenceRange.low and referenceRange.high with Quantity values
observation.observationBody.referenceRange.low (Reference range low value)is equivalent toreferenceRange.lowLower bound of normal range (e.g., 60 /min for heart rate)
observation.observationBody.referenceRange.high (Reference range high value)is equivalent toreferenceRange.highUpper bound of normal range (e.g., 100 /min for heart rate)
observation.observationBody.method (Observation method)is equivalent tomethodMethod used for observation (e.g., auscultation, oscillometric for BP)
observation.observationBody.bodySite (Body site (anatomical location))is equivalent tobodySiteAnatomical location. Use SNOMED CT body structure codes (e.g., 368209003 for right arm)
observation.observationHeader.careContactId (Care contact ID (encounter context))is equivalent toencounterReference to Encounter when observation made during care contact.
observation.observationBody.component (Observation components (for panels))is equivalent tocomponentFor panel observations (e.g., blood pressure with systolic/diastolic components). Each component has code and value[x].
observation.observationBody.hasMember (Related observations (battery/panel))is equivalent tohasMemberReferences to related Observation resources in a panel/battery (e.g., vital signs panel)
observation.observationHeader.nullified (Observation nullified flag)is equivalent tostatusIf nullified=true, set status=entered-in-error. Store nullifiedReason in Provenance.

Group 3 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1 to Provenance

Source CodeRelationshipTarget CodeComment
observation.observationHeader.sourceSystemHSAid (Source system HSA-ID)is equivalent toentity.whatHSA-ID of source system. Also mapped to Observation.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source.
observation.observationHeader.accountableHealthcareProfessional.authorTime (Author time (registration timestamp))is equivalent torecordedWhen observation was recorded. Also mapped to Observation.issued.
observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalHSAid (Healthcare professional HSA-ID)is equivalent toagent.whoReference to Practitioner with HSA-ID. Provenance.agent.type=author. Also in Observation.performer.
observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalName (Healthcare professional name)is equivalent toagent.who.displayDisplay name. Full Practitioner resource should have structured name.
observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalRoleCode (Healthcare professional role/befattning)is related toagent.roleProfessional role (befattning). Use KV Befattning (OID 1.2.752.129.2.2.1.4).
observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit (Organization unit)is equivalent toagent.onBehalfOfReference to Organization (organizational unit).
observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalCareUnitHSAid (Care unit HSA-ID (vårdenhet))is equivalent toentity.whatHSA-ID for care unit. Reference to Organization. Part of PDL hierarchy.
observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalCareGiverHSAid (Care provider HSA-ID (vårdgivare))is equivalent toentity.whatHSA-ID for care provider. Top-level organization in PDL hierarchy.
observation.observationHeader.legalAuthenticator.signatureTime (Signature timestamp)is equivalent tosignature.whenWhen observation was digitally signed (if applicable).
observation.observationHeader.legalAuthenticator.legalAuthenticatorHSAid (Legal authenticator HSA-ID)is equivalent tosignature.whoReference to Practitioner who signed observation. Provenance.agent.type=legal.
observation.observationHeader.nullifiedReason (Reason for nullification)is related toreasonWhy observation was nullified. Store in Provenance.reason when status=entered-in-error.

Group 4 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1 to Bundle

Source CodeRelationshipTarget CodeComment
observation.observationHeader.documentTitle (Document title)(not mapped)NOT MAPPED. Cardinality 0..0 for GetObservations.
observation.observationHeader.documentTime (Document time)(not mapped)NOT MAPPED. Cardinality 0..0 for GetObservations. Use authorTime or observationTime instead.
result.resultCode (Result code (OK, INFO, ERROR))(not mapped)NOT MAPPED to resources. HTTP status: OK→200, INFO→200 with warnings, ERROR→4xx/5xx.
result.errorCode (Error code)(not mapped)NOT MAPPED to resources. Use in OperationOutcome.issue.code when resultCode=ERROR.
result.logId (Log ID (UUID for troubleshooting))(not mapped)NOT MAPPED to resources. Use in OperationOutcome.issue.diagnostics or X-Request-Id header.
result.message (Result message)(not mapped)NOT MAPPED to resources. User-facing message in OperationOutcome.issue.diagnostics.