Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Innehåll

Table of Contents
minLevel1
maxLevel7

...

F.n. finns en del info på tillhörande kort i svenska openEHR-förvaltningens kanbantavla.

Status

DEV

Versionshistorik

Version

Datum

Uppdatering

Ansvarig

0.1.0

Första version för internremiss

...

Läs först startsidan “Implementationsguider” som bl.a. beskriver vad dokumentstatus som DEV och rekommendationer som MUST (MÅSTE), MUST NOT (FÅR INTE), SHOULD (BÖR) etc. betyder i praktiken.

...

Info

Diskussionsfråga i remiss

I nära anslutning till remissutskicket dök två alternativa implementationsförslag upp som inte hunnit utredas i detalj:

  1. Bör vi skapa en egen svensk specialisering av arketypen Organisation som får fler fält och tar hand om både vårdenhet och vårdgivare på ett smidigt och vältypat sett i en och samma arketyp…

  2. …eller om man inte gör en egen arketyp (enl. punkt #1) bör vi då istället nästla en instans av “Organisation“ för Vårdgivare i det outnyttjade fältet “Överordnad organisation“ i Vårdenhetens instans av “Organisation”-arketypen? (Alltså så att Vårdgivar-instansen ligger “inuti” Vårdenhet-instansen istället för bredvid i hierarkin.) <--- Rekommendation från PDL- Beslut mötet 2022-02-08

En
  1. att gå på alternativ 2 + Kommentar: Detta tillåter även ännu djupare nästlingar av mellan vårdenhet och vårdgivare + Att utreda: kanske även klarar även mer finkorninga enheter än vårdenhet i roten av PDL-delträdet i templaten

En fördel med både 1 och 2 framför ursprungs-förslaget nedan är att det då blir mer differentierade sökvägar mellan informationsstruktur om Vårdgivare respektive Vårdenhet vilket minskar potentiellt förvirrande permutationer i svaren på vissa AQL-frågor.

En fördel med förslag 1 är att både data och AQL-frågor blir mer lättlästa när t.ex. typ-information kan ligga i datastrukturen istället för i OID-koder m.m.

...

Namn

Org nr
(för enskild firma = PNR)

HSA-id

Funktion

Stockholms läns sjukvårdsområde

232100-0016

SE2321000016-2GJS
(Behöver ej anges, men har angetts i ett exempel nedan)

Vårdgivare

Brandbergens vårdcentral

SE2321000016-1003

Vårdenhet (Vårdcenral)

Distriktssköterskemottagning (vid Brandbergens vårdcentral)

SE2321000016-14LF

Den mest specifika enheten

Täby Vårdcentral

SE2321000016-150H

Vårdenhet (Vårdcenral)

Namy Nursington

SE2321000016-7ABC

Distriktssköterska
(“Composer” ansvarig för journalanteckningen)

Urban Uskman

SE2321000016-1CBA

Undersköterska (medverkade)

Danderyds Sjukhus AB

556575-6169

SE2321000016-1K2W

Vårdgivare

Ortopedkliniken
(vid Danderyds Sjukhus AB)

SE2321000016-1K6Q

Vårdenhet

Ajda's Medicinska Fotvård EN

790127-1111

Vårdgivare (Enskild firma)

Ajda's Medicinska Fotvård

SE2321000016-DGM1

“Vårdenhet”

Ajda Nnamn

SE2321000016-2222

Fotvårdsterapeut

...

Exemplet nedan är i ett av openEHRs förenklade format: structSDT genererat via EhrScape https://www.ehrscape.com/api-explorer.htmlBehöver uppdateras om strukturändringsförslaget 2022-02-08 genomförs

Code Block
languagejson
{
  "pdl-test-1": {
    "_uid": [
      "e34ef1a9-7994-48cd-b1e5-d7481648b8e8::stockholm.ehrscape.com::1"
    ],
    "language": [
      {
        "|code": "en",
        "|terminology": "ISO_639-1"
      }
    ],
    "territory": [
      {
        "|code": "en",
        "|terminology": "ISO_3166-1"
      }
    ],
    "context": [
      {
        "care_provider": [
          {
            "name": [
              "Stockholms läns sjukvårdsområde"
            ],
            "identifier": [
              {
                "|id": "232100-0016",
                "|type": "urn:oid:2.5.4.97"
              }
            ],
            "role": [
              {
                "|code": "1.2.752.29.6.10",
                "|value": "Vårdgivare",
                "|terminology": "urn:oid"
              }
            ]
          }
        ],
        "care_provider_subunit": [
          {
            "name": [
              "Brandbergens vårdcentral"
            ],
            "identifier": [
              {
                "|id": "SE2321000016-1003",
                "|type": "urn:oid:1.2.752.29.4.19"
              }
            ],
            "role": [
              {
                "|code": "1.2.752.29.6.13",
                "|value": "Vårdenhet",
                "|terminology": "urn:oid"
              }
            ]
          }
        ],
        "start_time": [
          "2021-12-21T01:19:46.693335+01:00"
        ],
        "setting": [
          {
            "|code": "238",
            "|value": "other care",
            "|terminology": "openehr"
          }
        ]
      }
    ],
    "pulse_heart_beat": [
      {
        "any_event": [
          {
            "rate": [
              {
                "|magnitude": 99,
                "|unit": "/min"
              }
            ],
            "time": [
              "2021-12-21T01:19:46.693335+01:00"
            ]
          }
        ],
        "method": [
          {
            "|code": "at1033",
            "|value": "Auscultation",
            "|terminology": "local"
          }
        ],
        "body_site": [
          {
            "|code": "at1038",
            "|value": "Radial Artery - Left",
            "|terminology": "local"
          }
        ],
        "language": [
          {
            "|code": "en",
            "|terminology": "ISO_639-1"
          }
        ],
        "encoding": [
          {
            "|code": "UTF-8",
            "|terminology": "IANA_character-sets"
          }
        ]
      }
    ],
    "category": [
      {
        "|code": "433",
        "|value": "event",
        "|terminology": "openehr"
      }
    ],
    "composer": [
      {
        "|name": "regionstockholm"
      }
    ]
  },
  "ctx": {
    "generic_fields": {}
  }
}

...

Exemplet nedan är ett manuellt redigerat (ofärdigt och overiferat) exempel som avser visa mer om composer, health_care_facility, participation samt en vårdgivare som angett ett extra HSA-id utöver det obligatoriska organisationsnumret.

Behöver uppdateras om strukturändringsförslaget 2022-02-08 genomförs

Code Block
languagejson
{
  "ctx/language": "sv",
  "ctx/territory": "SE",
  "ctx/composer_name": "Namy Nursington", 
  [TODO: +ID?]
  "ctx/id_namespace": "HOSPITAL-NS",
  "ctx/id_scheme": "HOSPITAL-NS",
  "ctx/participation_name": "Urban Uskman",
  [TODO: +ID?]
  "ctx/participation_function": "performer",
  "ctx/participation_mode": "face-to-face communication",
  "ctx/participation_id": "198",
  "ctx/health_care_facility|name": "Distriktssköterskemottagning, Brandbergens vårdcentral",
  "ctx/health_care_facility|id": "SE2321000016-14LF",
  "pdl-test-1": {
    "context": [
      {
        "care_provider": [
          {
            "name": [
              "Stockholms läns sjukvårdsområde"
            ],
            "identifier": [
              {
                "|id": "232100-0016",
                "|type": "urn:oid:2.5.4.97"
              }
              {
                "|id": "SE2321000016-2GJS",
                "|type": "urn:oid:1.2.752.29.4.19"
              }         
            ],
            "role": [
              {
                "|code": "urn:oid:1.2.752.29.6.10",
                "|value": "Vårdgivare"
              }
            ]
          }
        ],
        "care_provider_subunit": [
          {
            "name": [
              "Brandbergens vårdcentral"
            ],
            "identifier": [
              {
                "|id": "SE2321000016-1003",
                "|type": "urn:oid:1.2.752.29.4.19"
              }
            ],
            "role": [
              {
                "|code": "1.2.752.29.6.13",
                "|value": "Vårdenhet"
              }
            ]
          }
        ]
      }
    ],
    "pulse_heart_beat": [
      {
        "any_event": [
          {
            "rate": [
              {
                "|magnitude": 112,
                "|unit": "/min"
              }
            ]
          }
        ],
        "method": [
          {
            "|code": "at1032"
          }
        ],
        "body_site": [
          {
            "|code": "at1038"
          }
        ]
      }
    ]
  }
}

Filtrering och utvärdering baserat på lagrade grundattribut

AQL-fråga och svar behöver uppdateras om strukturändringsförslaget 2022-02-08 genomförs

Nedanstående exempel på AQL-sökfråga söker fram alla pulsmätningar som passerar tillgångsfiltreringen baserad på vårdgivare eller vårdenhet.

Code Block
SELECT org/items[at0001]/value/value AS OrgName,
       org/items[at0003]/value/id AS Orgid,
       org/items[at0004]/value/value  AS RoleType,
       org/items[at0004]/value/defining_code/code_string AS role_type_oid,
       j/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value/magnitude AS Rate,
       c/uid/value as comp_id,
       e/ehr_id/value as ehr_id
FROM EHR e
CONTAINS COMPOSITION c[openEHR-EHR-COMPOSITION.encounter.v1]  
CONTAINS (CLUSTER org[openEHR-EHR-CLUSTER.organisation.v0] 
    and OBSERVATION j[openEHR-EHR-OBSERVATION.pulse.v2])  

WHERE role_type_oid = "1.2.752.29.6.13" -- Exempel 1: Vårdenhet
-- WHERE role_type_oid = "1.2.752.29.6.13" AND Orgid = "SE2321000016-1003" -- Exempel 2: Vårdenhet = SE2321000016-1003 (Brandbergens VC) 

-- WHERE role_type_oid = "1.2.752.29.6.10" -- Exempel 3: Vårdgivare
-- WHERE role_type_oid = "1.2.752.29.6.10" AND Orgid = "232100-0016" -- Exempel 4: Vårdgivare = 232100-0016 (Stockholms läns sjukvårdsområde)

OFFSET 0 
LIMIT 25

Exempelsvar 1:

...

Exempelsvar 2:

...

I en produktionsinstallation kan man lämpligen välja att parametrisera id (sätta via variabler) för vårdgivare och vårdenhet.

Exempel på uppdatering om strukturändringsförslaget 2022-02-08 genomförs:

Code Block
SELECT q/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value/magnitude AS pulse_rate,
       ve/items[at0001]/value AS ve_name,
       ve/items[at0003]/value AS ve_id,
       ve/items[at0004]/value/defining_code/code_string AS ve_roll,
       vg/items[at0001]/value AS vg_name,
       vg/items[at0003]/value AS vg_id,
       vg/items[at0004]/value/defining_code/code_string AS vg_roll
FROM EHR e
CONTAINS COMPOSITION c[openEHR-EHR-COMPOSITION.encounter.v1] 
    CONTAINS (
        OBSERVATION q[openEHR-EHR-OBSERVATION.pulse.v2] -- exempel på klinisk data
        AND
        CLUSTER ve[openEHR-EHR-CLUSTER.organisation.v0]  -- Vårdenhet
            CONTAINS CLUSTER vg[openEHR-EHR-CLUSTER.organisation.v0] -- med vårdgivare nästlad som "parent organisation"
    ) 
WHERE vg/items[at0003]/value/id = "232100-0016" and vg_roll = "143591000052106" -- vårdgivarfilter
      -- AND
      -- ve/items[at0003]/value/id = "SE2321000016-1003" and ve_roll = "43741000" -- vårdenhetsfilter
OFFSET 0 LIMIT 10

...

…och om “vårdenhetefiltret” också aktiveras genom att ta bort -- kommentar

Code Block
WHERE vg/items[at0003]/value/id = "232100-0016" and vg_roll = "143591000052106" -- vårdgivarfilter
      AND
      ve/items[at0003]/value/id = "SE2321000016-1003" and ve_roll = "43741000" -- vårdenhetsfilter

...

och det sista i “raw”-format

Code Block
[
    {
        "pulse_rate": 93,
        "ve_name": {
            "@class": "DV_TEXT",
            "value": "Brandbergens vårdcentral"
        },
        "ve_id": {
            "@class": "DV_IDENTIFIER",
            "id": "SE2321000016-1003",
            "type": "urn:oid:1.2.752.29.4.19"
        },
        "ve_roll": "43741000",
        "vg_name": {
            "@class": "DV_TEXT",
            "value": "Stockholms läns sjukvårdsområde"
        },
        "vg_id": {
            "@class": "DV_IDENTIFIER",
            "id": "232100-0016",
            "type": "urn:oid:2.5.4.97"
        },
        "vg_roll": "143591000052106"
    },
    {
        "pulse_rate": 94,
        "ve_name": {
            "@class": "DV_TEXT",
            "value": "Brandbergens vårdcentral"
        },
        "ve_id": {
            "@class": "DV_IDENTIFIER",
            "id": "SE2321000016-1003",
            "type": "urn:oid:1.2.752.29.4.19"
        },
        "ve_roll": "43741000",
        "vg_name": {
            "@class": "DV_TEXT",
            "value": "Stockholms läns sjukvårdsområde"
        },
        "vg_id": {
            "@class": "DV_IDENTIFIER",
            "id": "232100-0016",
            "type": "urn:oid:2.5.4.97"
        },
        "vg_roll": "143591000052106"
    }
]

Info

Den första remissomgången slutar här och avsåg kapitlen

  • Bakgrund

  • Lagring av PDL-relaterade grundattribut

  • Filtrering och utvärdering baserat på lagrade grundattribut

Texten nedan är inte redo för extern granskning ännu men får givetvis kommenteras om intresse finns.

...