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 GetObservations TKB to FHIR Observation - TTL Representation

Draft as of 2025-11-24

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:ConceptMap ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "ConceptMapGetObservationsTKBToObservation"] ; # 
  fhir:text [
fhir:status [ fhir:v "generated" ] ;
fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: ConceptMap ConceptMapGetObservationsTKBToObservation</b></p><a name=\"ConceptMapGetObservationsTKBToObservation\"> </a><a name=\"hcConceptMapGetObservationsTKBToObservation\"> </a><p>Mapping from https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1 to <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a></p><br/><p><b>Group 1 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1</code> to <a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>patientId (Query parameter: Patient ID filter)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED. Used as search parameter: GET /Observation?subject=Patient/191212121212</td></tr><tr><td>careUnitHSAid (Query parameter: Filter by care unit HSA-ID)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED. Used as search parameter: GET /Observation?performer.identifier=https://hsaid.se|SE2321000016-A001</td></tr><tr><td>timePeriod (Query parameter: Time period filter (from-to))</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED. Used as search parameter: GET /Observation?date=ge2025-01-01&amp;date=le2025-12-31</td></tr><tr><td>observationType (Query parameter: Filter by observation type)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED. Used as search parameter: GET /Observation?code=http://loinc.org|85354-9</td></tr></table><hr/><p><b>Group 2 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1</code> to <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>observation.observationHeader.documentId (Observation ID (unique business identifier))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>identifier</td><td>Unique observation identifier within source system. System derived from sourceSystemHSAid.</td></tr><tr><td>observation.observationHeader.patientId (Patient ID (personnummer/samordningsnummer))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>subject</td><td>Reference 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)</td></tr><tr><td>observation.observationHeader.approvedForPatient (Approved for patient access (true/false))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>meta.security</td><td>If false, add security label NOPATIENT to restrict patient access (menprövningsflagga).</td></tr><tr><td>observation.observationBody.observationType (Observation type code (LOINC, NPU, SNOMED CT))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>code</td><td>Observation 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</td></tr><tr><td>observation.observationBody.observationType.code (Observation code value)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>code.coding.code</td><td>Code value (e.g., LOINC 8867-4 for heart rate)</td></tr><tr><td>observation.observationBody.observationType.codeSystem (Code system OID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto\" title=\"relatedto\">is related to</a></td><td>code.coding.system</td><td>OID → 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</td></tr><tr><td>observation.observationBody.observationType.displayName (Observation name)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>code.coding.display</td><td>Human-readable observation name. Also populate code.text.</td></tr><tr><td>observation.observationBody.observationCategory (Observation category)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>category</td><td>FHIR category: vital-signs, exam, laboratory, procedure, imaging, survey, social-history. System: http://terminology.hl7.org/CodeSystem/observation-category</td></tr><tr><td>observation.observationBody.observationStatus (Observation status)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#wider\" title=\"wider\">maps to wider concept</a></td><td>status</td><td>FHIR ObservationStatus: registered|preliminary|final|amended|corrected|cancelled|entered-in-error|unknown. Swedish status codes may need mapping.</td></tr><tr><td>observation.observationBody.observationTime (Observation date/time)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>effectiveDateTime</td><td>When observation was made. Use effectiveDateTime for point in time, effectivePeriod for time range.</td></tr><tr><td>observation.observationBody.observationValue.quantity (Observation numeric value with unit)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>valueQuantity</td><td>Numeric value with UCUM unit. valueQuantity.value + valueQuantity.unit + valueQuantity.system (http://unitsofmeasure.org)</td></tr><tr><td>observation.observationBody.observationValue.quantity.value (Numeric value)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>valueQuantity.value</td><td>Numeric measurement value (e.g., 120 for systolic BP)</td></tr><tr><td>observation.observationBody.observationValue.quantity.unit (Unit of measure)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#wider\" title=\"wider\">maps to wider concept</a></td><td>valueQuantity.unit</td><td>Unit with UCUM code. Examples: mm[Hg] (blood pressure), /min (heart rate), Cel (temperature), kg (weight), cm (height). System: http://unitsofmeasure.org</td></tr><tr><td>observation.observationBody.observationValue.codeableConcept (Coded observation value)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>valueCodeableConcept</td><td>When observation value is coded (e.g., interpretation codes, categorical values)</td></tr><tr><td>observation.observationBody.observationValue.string (Text observation value)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>valueString</td><td>Free text value when no structured value available</td></tr><tr><td>observation.observationBody.interpretation (Observation interpretation (high, low, normal))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>interpretation</td><td>Interpretation codes from http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation: H (high), L (low), N (normal), HH (critically high), LL (critically low)</td></tr><tr><td>observation.observationBody.referenceRange (Reference range (normal values))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>referenceRange</td><td>Normal range for observation. referenceRange.low and referenceRange.high with Quantity values</td></tr><tr><td>observation.observationBody.referenceRange.low (Reference range low value)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>referenceRange.low</td><td>Lower bound of normal range (e.g., 60 /min for heart rate)</td></tr><tr><td>observation.observationBody.referenceRange.high (Reference range high value)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>referenceRange.high</td><td>Upper bound of normal range (e.g., 100 /min for heart rate)</td></tr><tr><td>observation.observationBody.method (Observation method)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>method</td><td>Method used for observation (e.g., auscultation, oscillometric for BP)</td></tr><tr><td>observation.observationBody.bodySite (Body site (anatomical location))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>bodySite</td><td>Anatomical location. Use SNOMED CT body structure codes (e.g., 368209003 for right arm)</td></tr><tr><td>observation.observationHeader.careContactId (Care contact ID (encounter context))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>encounter</td><td>Reference to Encounter when observation made during care contact.</td></tr><tr><td>observation.observationBody.component (Observation components (for panels))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>component</td><td>For panel observations (e.g., blood pressure with systolic/diastolic components). Each component has code and value[x].</td></tr><tr><td>observation.observationBody.hasMember (Related observations (battery/panel))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>hasMember</td><td>References to related Observation resources in a panel/battery (e.g., vital signs panel)</td></tr><tr><td>observation.observationHeader.nullified (Observation nullified flag)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>status</td><td>If nullified=true, set status=entered-in-error. Store nullifiedReason in Provenance.</td></tr></table><hr/><p><b>Group 3 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1</code> to <a href=\"http://hl7.org/fhir/R4/provenance.html\">Provenance</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>observation.observationHeader.sourceSystemHSAid (Source system HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>entity.what</td><td>HSA-ID of source system. Also mapped to Observation.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source.</td></tr><tr><td>observation.observationHeader.accountableHealthcareProfessional.authorTime (Author time (registration timestamp))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>recorded</td><td>When observation was recorded. Also mapped to Observation.issued.</td></tr><tr><td>observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalHSAid (Healthcare professional HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>agent.who</td><td>Reference to Practitioner with HSA-ID. Provenance.agent.type=author. Also in Observation.performer.</td></tr><tr><td>observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalName (Healthcare professional name)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>agent.who.display</td><td>Display name. Full Practitioner resource should have structured name.</td></tr><tr><td>observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalRoleCode (Healthcare professional role/befattning)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto\" title=\"relatedto\">is related to</a></td><td>agent.role</td><td>Professional role (befattning). Use KV Befattning (OID 1.2.752.129.2.2.1.4).</td></tr><tr><td>observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit (Organization unit)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>agent.onBehalfOf</td><td>Reference to Organization (organizational unit).</td></tr><tr><td>observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalCareUnitHSAid (Care unit HSA-ID (vårdenhet))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>entity.what</td><td>HSA-ID for care unit. Reference to Organization. Part of PDL hierarchy.</td></tr><tr><td>observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalCareGiverHSAid (Care provider HSA-ID (vårdgivare))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>entity.what</td><td>HSA-ID for care provider. Top-level organization in PDL hierarchy.</td></tr><tr><td>observation.observationHeader.legalAuthenticator.signatureTime (Signature timestamp)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>signature.when</td><td>When observation was digitally signed (if applicable).</td></tr><tr><td>observation.observationHeader.legalAuthenticator.legalAuthenticatorHSAid (Legal authenticator HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>signature.who</td><td>Reference to Practitioner who signed observation. Provenance.agent.type=legal.</td></tr><tr><td>observation.observationHeader.nullifiedReason (Reason for nullification)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto\" title=\"relatedto\">is related to</a></td><td>reason</td><td>Why observation was nullified. Store in Provenance.reason when status=entered-in-error.</td></tr></table><hr/><p><b>Group 4 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1</code> to <a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>observation.observationHeader.documentTitle (Document title)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED. Cardinality 0..0 for GetObservations.</td></tr><tr><td>observation.observationHeader.documentTime (Document time)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED. Cardinality 0..0 for GetObservations. Use authorTime or observationTime instead.</td></tr><tr><td>result.resultCode (Result code (OK, INFO, ERROR))</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED to resources. HTTP status: OK→200, INFO→200 with warnings, ERROR→4xx/5xx.</td></tr><tr><td>result.errorCode (Error code)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED to resources. Use in OperationOutcome.issue.code when resultCode=ERROR.</td></tr><tr><td>result.logId (Log ID (UUID for troubleshooting))</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED to resources. Use in OperationOutcome.issue.diagnostics or X-Request-Id header.</td></tr><tr><td>result.message (Result message)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">NOT MAPPED to resources. User-facing message in OperationOutcome.issue.diagnostics.</td></tr></table></div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:url [
fhir:v "https://inera.se/fhir/core/ConceptMap/getobservations-tkb-to-observation"^^xsd:anyURI ;
fhir:l <https://inera.se/fhir/core/ConceptMap/getobservations-tkb-to-observation>
  ] ; # 
  fhir:version [ fhir:v "0.2.0"] ; # 
  fhir:name [ fhir:v "ConceptMapGetObservationsTKBToObservation"] ; # 
  fhir:title [ fhir:v "ConceptMap GetObservations TKB to FHIR Observation"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v true] ; # 
  fhir:date [ fhir:v "2025-11-24"^^xsd:date] ; # 
  fhir:publisher [ fhir:v "Inera AB"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "Inera AB" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://www.inera.se" ]     ] [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "info@inera.se" ]     ] )
  ] [
fhir:name [ fhir:v "Inera AB" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://www.inera.se" ]     ] [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "info@inera.se" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Complete mapping from GetObservations TKB service to FHIR Observation and Provenance resources"] ; # 
  fhir:jurisdiction ( [
    ( fhir:coding [
fhir:system [
fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ;
fhir:l <urn:iso:std:iso:3166>       ] ;
fhir:code [ fhir:v "SE" ] ;
fhir:display [ fhir:v "Sweden" ]     ] )
  ] ) ; # 
  fhir:source [
a fhir:Uri ;
fhir:v "https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1>
  ] ; # 
  fhir:target [
a fhir:Canonical ;
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>
  ] ; # 
  fhir:group ( [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Bundle>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "patientId" ] ;
fhir:display [ fhir:v "Query parameter: Patient ID filter" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED. Used as search parameter: GET /Observation?subject=Patient/191212121212" ]       ] )     ] [
fhir:code [ fhir:v "careUnitHSAid" ] ;
fhir:display [ fhir:v "Query parameter: Filter by care unit HSA-ID" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED. Used as search parameter: GET /Observation?performer.identifier=https://hsaid.se|SE2321000016-A001" ]       ] )     ] [
fhir:code [ fhir:v "timePeriod" ] ;
fhir:display [ fhir:v "Query parameter: Time period filter (from-to)" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED. Used as search parameter: GET /Observation?date=ge2025-01-01&date=le2025-12-31" ]       ] )     ] [
fhir:code [ fhir:v "observationType" ] ;
fhir:display [ fhir:v "Query parameter: Filter by observation type" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED. Used as search parameter: GET /Observation?code=http://loinc.org|85354-9" ]       ] )     ] )
  ] [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "observation.observationHeader.documentId" ] ;
fhir:display [ fhir:v "Observation ID (unique business identifier)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "identifier" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Unique observation identifier within source system. System derived from sourceSystemHSAid." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.patientId" ] ;
fhir:display [ fhir:v "Patient ID (personnummer/samordningsnummer)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "subject" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reference 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)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.approvedForPatient" ] ;
fhir:display [ fhir:v "Approved for patient access (true/false)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "meta.security" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "If false, add security label NOPATIENT to restrict patient access (menprövningsflagga)." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationType" ] ;
fhir:display [ fhir:v "Observation type code (LOINC, NPU, SNOMED CT)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "code" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Observation 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" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationType.code" ] ;
fhir:display [ fhir:v "Observation code value" ] ;
      ( fhir:target [
fhir:code [ fhir:v "code.coding.code" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Code value (e.g., LOINC 8867-4 for heart rate)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationType.codeSystem" ] ;
fhir:display [ fhir:v "Code system OID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "code.coding.system" ] ;
fhir:equivalence [ fhir:v "relatedto" ] ;
fhir:comment [ fhir:v "OID → 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" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationType.displayName" ] ;
fhir:display [ fhir:v "Observation name" ] ;
      ( fhir:target [
fhir:code [ fhir:v "code.coding.display" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Human-readable observation name. Also populate code.text." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationCategory" ] ;
fhir:display [ fhir:v "Observation category" ] ;
      ( fhir:target [
fhir:code [ fhir:v "category" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "FHIR category: vital-signs, exam, laboratory, procedure, imaging, survey, social-history. System: http://terminology.hl7.org/CodeSystem/observation-category" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationStatus" ] ;
fhir:display [ fhir:v "Observation status" ] ;
      ( fhir:target [
fhir:code [ fhir:v "status" ] ;
fhir:equivalence [ fhir:v "wider" ] ;
fhir:comment [ fhir:v "FHIR ObservationStatus: registered|preliminary|final|amended|corrected|cancelled|entered-in-error|unknown. Swedish status codes may need mapping." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationTime" ] ;
fhir:display [ fhir:v "Observation date/time" ] ;
      ( fhir:target [
fhir:code [ fhir:v "effectiveDateTime" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "When observation was made. Use effectiveDateTime for point in time, effectivePeriod for time range." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationValue.quantity" ] ;
fhir:display [ fhir:v "Observation numeric value with unit" ] ;
      ( fhir:target [
fhir:code [ fhir:v "valueQuantity" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Numeric value with UCUM unit. valueQuantity.value + valueQuantity.unit + valueQuantity.system (http://unitsofmeasure.org)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationValue.quantity.value" ] ;
fhir:display [ fhir:v "Numeric value" ] ;
      ( fhir:target [
fhir:code [ fhir:v "valueQuantity.value" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Numeric measurement value (e.g., 120 for systolic BP)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationValue.quantity.unit" ] ;
fhir:display [ fhir:v "Unit of measure" ] ;
      ( fhir:target [
fhir:code [ fhir:v "valueQuantity.unit" ] ;
fhir:equivalence [ fhir:v "wider" ] ;
fhir:comment [ fhir:v "Unit with UCUM code. Examples: mm[Hg] (blood pressure), /min (heart rate), Cel (temperature), kg (weight), cm (height). System: http://unitsofmeasure.org" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationValue.codeableConcept" ] ;
fhir:display [ fhir:v "Coded observation value" ] ;
      ( fhir:target [
fhir:code [ fhir:v "valueCodeableConcept" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "When observation value is coded (e.g., interpretation codes, categorical values)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.observationValue.string" ] ;
fhir:display [ fhir:v "Text observation value" ] ;
      ( fhir:target [
fhir:code [ fhir:v "valueString" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Free text value when no structured value available" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.interpretation" ] ;
fhir:display [ fhir:v "Observation interpretation (high, low, normal)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "interpretation" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Interpretation codes from http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation: H (high), L (low), N (normal), HH (critically high), LL (critically low)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.referenceRange" ] ;
fhir:display [ fhir:v "Reference range (normal values)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "referenceRange" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Normal range for observation. referenceRange.low and referenceRange.high with Quantity values" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.referenceRange.low" ] ;
fhir:display [ fhir:v "Reference range low value" ] ;
      ( fhir:target [
fhir:code [ fhir:v "referenceRange.low" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Lower bound of normal range (e.g., 60 /min for heart rate)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.referenceRange.high" ] ;
fhir:display [ fhir:v "Reference range high value" ] ;
      ( fhir:target [
fhir:code [ fhir:v "referenceRange.high" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Upper bound of normal range (e.g., 100 /min for heart rate)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.method" ] ;
fhir:display [ fhir:v "Observation method" ] ;
      ( fhir:target [
fhir:code [ fhir:v "method" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Method used for observation (e.g., auscultation, oscillometric for BP)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.bodySite" ] ;
fhir:display [ fhir:v "Body site (anatomical location)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "bodySite" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Anatomical location. Use SNOMED CT body structure codes (e.g., 368209003 for right arm)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.careContactId" ] ;
fhir:display [ fhir:v "Care contact ID (encounter context)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "encounter" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reference to Encounter when observation made during care contact." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.component" ] ;
fhir:display [ fhir:v "Observation components (for panels)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "component" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "For panel observations (e.g., blood pressure with systolic/diastolic components). Each component has code and value[x]." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationBody.hasMember" ] ;
fhir:display [ fhir:v "Related observations (battery/panel)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "hasMember" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "References to related Observation resources in a panel/battery (e.g., vital signs panel)" ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.nullified" ] ;
fhir:display [ fhir:v "Observation nullified flag" ] ;
      ( fhir:target [
fhir:code [ fhir:v "status" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "If nullified=true, set status=entered-in-error. Store nullifiedReason in Provenance." ]       ] )     ] )
  ] [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/Provenance"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Provenance>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "observation.observationHeader.sourceSystemHSAid" ] ;
fhir:display [ fhir:v "Source system HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "entity.what" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "HSA-ID of source system. Also mapped to Observation.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.accountableHealthcareProfessional.authorTime" ] ;
fhir:display [ fhir:v "Author time (registration timestamp)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "recorded" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "When observation was recorded. Also mapped to Observation.issued." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalHSAid" ] ;
fhir:display [ fhir:v "Healthcare professional HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "agent.who" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reference to Practitioner with HSA-ID. Provenance.agent.type=author. Also in Observation.performer." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalName" ] ;
fhir:display [ fhir:v "Healthcare professional name" ] ;
      ( fhir:target [
fhir:code [ fhir:v "agent.who.display" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Display name. Full Practitioner resource should have structured name." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalRoleCode" ] ;
fhir:display [ fhir:v "Healthcare professional role/befattning" ] ;
      ( fhir:target [
fhir:code [ fhir:v "agent.role" ] ;
fhir:equivalence [ fhir:v "relatedto" ] ;
fhir:comment [ fhir:v "Professional role (befattning). Use KV Befattning (OID 1.2.752.129.2.2.1.4)." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit" ] ;
fhir:display [ fhir:v "Organization unit" ] ;
      ( fhir:target [
fhir:code [ fhir:v "agent.onBehalfOf" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reference to Organization (organizational unit)." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalCareUnitHSAid" ] ;
fhir:display [ fhir:v "Care unit HSA-ID (vårdenhet)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "entity.what" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "HSA-ID for care unit. Reference to Organization. Part of PDL hierarchy." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.accountableHealthcareProfessional.healthcareProfessionalCareGiverHSAid" ] ;
fhir:display [ fhir:v "Care provider HSA-ID (vårdgivare)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "entity.what" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "HSA-ID for care provider. Top-level organization in PDL hierarchy." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.legalAuthenticator.signatureTime" ] ;
fhir:display [ fhir:v "Signature timestamp" ] ;
      ( fhir:target [
fhir:code [ fhir:v "signature.when" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "When observation was digitally signed (if applicable)." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.legalAuthenticator.legalAuthenticatorHSAid" ] ;
fhir:display [ fhir:v "Legal authenticator HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "signature.who" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reference to Practitioner who signed observation. Provenance.agent.type=legal." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.nullifiedReason" ] ;
fhir:display [ fhir:v "Reason for nullification" ] ;
      ( fhir:target [
fhir:code [ fhir:v "reason" ] ;
fhir:equivalence [ fhir:v "relatedto" ] ;
fhir:comment [ fhir:v "Why observation was nullified. Store in Provenance.reason when status=entered-in-error." ]       ] )     ] )
  ] [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/healthcond/actoutcome/GetObservationsResponder/1>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Bundle>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "observation.observationHeader.documentTitle" ] ;
fhir:display [ fhir:v "Document title" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED. Cardinality 0..0 for GetObservations." ]       ] )     ] [
fhir:code [ fhir:v "observation.observationHeader.documentTime" ] ;
fhir:display [ fhir:v "Document time" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED. Cardinality 0..0 for GetObservations. Use authorTime or observationTime instead." ]       ] )     ] [
fhir:code [ fhir:v "result.resultCode" ] ;
fhir:display [ fhir:v "Result code (OK, INFO, ERROR)" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED to resources. HTTP status: OK→200, INFO→200 with warnings, ERROR→4xx/5xx." ]       ] )     ] [
fhir:code [ fhir:v "result.errorCode" ] ;
fhir:display [ fhir:v "Error code" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED to resources. Use in OperationOutcome.issue.code when resultCode=ERROR." ]       ] )     ] [
fhir:code [ fhir:v "result.logId" ] ;
fhir:display [ fhir:v "Log ID (UUID for troubleshooting)" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED to resources. Use in OperationOutcome.issue.diagnostics or X-Request-Id header." ]       ] )     ] [
fhir:code [ fhir:v "result.message" ] ;
fhir:display [ fhir:v "Result message" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "NOT MAPPED to resources. User-facing message in OperationOutcome.issue.diagnostics." ]       ] )     ] )
  ] ) . #