Megosztás a következőn keresztül:


Egyéni keresési paraméterek meghatározása

Az FHIR-specifikáció® olyan keresési paramétereket határoz meg, amelyek az összes erőforrásra vonatkoznak. Emellett az FHIR számos olyan keresési paramétert határoz meg, amelyek bizonyos erőforrásokra vonatkoznak. Előfordulhat azonban, hogy egy erőforrás olyan elemére is szeretne keresni, amelyet az FHIR-specifikáció nem határoz meg standard keresési paraméterként. Ez a cikk azt ismerteti, hogyan definiálhatja saját egyéni keresési paramétereit az Azure Health Data Services FHIR szolgáltatásában való használatra.

Feljegyzés

Minden alkalommal, amikor létrehoz, frissít vagy töröl egy keresési paramétert, egy újraindexeléses feladatot kell futtatnia, hogy engedélyezhesse a keresési paramétert az élő éles környezetben. Ismertetjük, hogyan tesztelheti a keresési paramétereket, mielőtt újraindexeli a teljes FHIR szolgáltatásadatbázist.

Új keresési paraméter létrehozása

Új keresési paraméter létrehozásához erőforrásra POST SearchParameter van szüksége az FHIR szolgáltatásadatbázishoz.

POST {{FHIR_URL}}/SearchParameter

Az alábbi példák egy új egyéni keresési paraméter létrehozását mutatják be.

Új keresési paraméter létrehozása definíciónként a megvalósítási útmutatóban

Az alábbi példakód bemutatja, hogyan adhatja hozzá az US Core Race keresési paramétert az Patient FHIR szolgáltatásadatbázis erőforrástípusához.

{
  "resourceType" : "SearchParameter",
  "id" : "us-core-race",
  "url" : "http://hl7.org/fhir/us/core/SearchParameter/us-core-race",
  "version" : "3.1.1",
  "name" : "USCoreRace",
  "status" : "active",
  "date" : "2019-05-21",
  "publisher" : "US Realm Steering Committee",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "other",
          "value" : "http://www.healthit.gov/"
        }
      ]
    }
  ],
  "description" : "Returns patients with a race extension matching the specified code.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "US",
          "display" : "United States of America"
        }
      ]
    }
  ],
  "code" : "race",
  "base" : [
    "Patient"
  ],
  "type" : "token",
  "expression" : "Patient.extension.where(url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race').extension.value.code"
}

Új keresési paraméter létrehozása hivatkozástípusú erőforrásattribútumokhoz

Az alábbi példakód bemutatja, hogyan hozhat létre egyéni keresési paramétert a MedicationDispense-erőforrások kereséséhez a kiosztás helyétől függően. Ez egy példa arra, hogy egy referenciatípushoz egyéni keresési paramétert ad hozzá.

{
 "resourceType": "SearchParameter",
  "id": "a3c28d46-fd06-49ca-aea7-5f9314ef0497",
  "url": "{{An absolute URI that is used to identify this search parameter}}",
  "version": "1.0",
  "name": "MedicationDispenseLocationSearchParameter",
  "status": "active",
  "description": "Search parameter for MedicationDispense by location",
  "code": "location",
  "base": ["MedicationDispense"],
  "target": ["Location"],
  "type": "reference",
  "expression": "MedicationDispense.location"
}

Feljegyzés

Az új keresési paraméter az FHIR szolgáltatás képességutasításában jelenik meg, POST miután a keresési paramétert az adatbázishoz nyitja, és újraindexeli az adatbázist. Az in the SearchParameter capability utasítás megtekintése az egyetlen módja annak, hogy megállapítsa, támogatott-e egy keresési paraméter az FHIR szolgáltatásban. Ha nem találja a SearchParameter képességi utasítást, akkor is újra kell indexelnie az adatbázist a keresési paraméter aktiválásához. Az újraindexelési művelet aktiválása előtt több keresési paraméter is megadható POST .

Az SearchParameter erőforrás fontos elemei a következők:

  • url: Egy egyedi kulcs a keresési paraméter leírásához. Az olyan szervezetek, mint a HL7, szabványos URL-formátumot használnak az általuk definiált keresési paraméterekhez, ahogyan az az US Core Race keresési paraméterében is látható.

  • code: A kódelemben tárolt érték a keresési paraméterhez használt név, amikor egy API-hívás tartalmazza. Az előző példában az "US Core Race" bővítményben GET {{FHIR_URL}}/Patient?race=<code> <code> a megadott kódolási rendszer által beállított értékben kell keresni. Ez a hívás egy adott faj összes betegét lekérné.

  • base: Azt ismerteti, hogy a keresési paraméter mely erőforrástípusokra vonatkozik. Ha a keresési paraméter az összes erőforrásra vonatkozik, használhatja Resourceazt, ellenkező esetben az összes releváns erőforrástípust listázhatja.

  • target: Azt ismerteti, hogy a keresési paraméter mely erőforrástípusokkal egyezik meg.

  • type: A keresési paraméter adattípusát ismerteti. A típust az FHIR szolgáltatás adattípusainak támogatása korlátozza. Ez azt jelenti, hogy nem definiálhat speciális típusú keresési paramétert, és nem definiálhat összetett keresési paramétert , hacsak nem támogatott kombináció.

  • expression: A keresés értékének kiszámítását ismerteti. A keresési paraméter leírásakor meg kell adnia a kifejezést, annak ellenére, hogy a specifikáció nem írja elő. Ennek az az oka, hogy vagy a kifejezésre vagy az xpath szintaxisra van szüksége, és az FHIR szolgáltatás figyelmen kívül hagyja az xpath szintaxist.

Új keresési paraméterek tesztelése

Bár az éles környezetben nem használhatja az új keresési paramétereket, amíg újraindexelési feladatot nem futtat, a teljes adatbázis újraindexelése előtt többféleképpen is tesztelheti az egyéni keresési paramétereket.

Először tesztelhet egy új keresési paramétert a visszaadott értékek megtekintéséhez. Ha a következő parancsot egy adott erőforráspéldányon futtatja (az erőforrás-azonosító megadásával), a keresési paraméter nevével és a megfelelő elemben tárolt értékkel rendelkező értékpárok listáját kapja vissza. Ez a lista tartalmazza az erőforrás összes keresési paraméterét. Görgetéssel megkeresheti a létrehozott keresési paramétert. A parancs futtatása semmilyen viselkedést nem módosít az FHIR szolgáltatásban.

GET https://{{FHIR_URL}}/{{RESOURCE}}/{{RESOURCE_ID}}/$reindex

Ha például egy beteg összes keresési paraméterét meg szeretné keresni:

GET https://{{FHIR_URL}}/Patient/{{PATIENT_ID}}/$reindex

Az eredmény a következőhöz hasonló:

{
  "resourceType": "Parameters",
  "id": "8be24e78-b333-49da-a861-523491c3437a",
  "meta": {
    "versionId": "1"
  },
  "parameter": [
    {
      "name": "deceased",
      "valueString": "http://hl7.org/fhir/special-values|false"
    },
    {
      "name": "language",
      "valueString": "urn:ietf:bcp:47|en-US"
    },
    {
      "name": "race",
      "valueString": "2028-9"
    }
    ]
    ...}

Miután látta, hogy a keresési paraméter a várt módon jelenik meg, újraindexelhet egy erőforrást, hogy tesztelje a keresést az új keresési paraméterrel. Egyetlen erőforrás újraindexeléséhez használja az alábbiakat.

POST https://{{FHIR_URL}/{{RESOURCE}}/{{RESOURCE_ID}}/$reindex

A POST hívás futtatása beállítja a kérelemben megadott erőforráspéldányhoz definiált keresési paraméterek indexeit. Ez a hívás módosítja az FHIR szolgáltatásadatbázist. Most már kereshet, és beállíthatja a x-ms-use-partial-indices fejlécet truearra, hogy az FHIR szolgáltatás az indexelt keresési paramétert tartalmazó erőforrások eredményeit adja vissza, még akkor is, ha nem minden ilyen típusú erőforráspéldány indexelt.

A példával folytatva egy beteget indexelhet a következő engedélyezéséhez SearchParameter:

POST {{FHIR_URL}}/Patient/{{PATIENT_ID}}/$reindex

Ezután végezze el a tesztkereséseket:

  1. A beteg számára verseny szerint:
GET {{FHIR_URL}}/Patient?race=2028-9
x-ms-use-partial-indices: true
  1. Hely (referenciatípus)
{{fhirurl}}/MedicationDispense?location=<locationid referenced in MedicationDispense Resource>
x-ms-use-partial-indices: true

Miután tesztelte az új keresési paramétert, és meggyőződött arról, hogy a várt módon működik, futtassa vagy ütemezze az újraindexelési feladatot, hogy az új keresési paraméterek éles környezetben is használhatók legyenek.

Az FHIR szolgáltatásadatbázis újraindexeléséhez tekintse meg az újraindexelési feladat futtatásával kapcsolatos információkat.

Keresési paraméter frissítése

A keresési paraméter frissítéséhez hozza PUT létre a keresési paraméter új verzióját. A keresési paraméter azonosítóját meg kell adnia a id kérelem törzsében PUT lévő mezőben és a kérési sztringben PUT .

Feljegyzés

Ha nem tudja a keresési paraméter azonosítóját, akkor a következővel GET {{FHIR_URL}}/SearchParameterkeresheti meg: . Ez az összes egyéni és szabványos keresési paramétert visszaadja. A kívánt keresési paraméter megkereséséhez görgessen végig a listán. A keresést név szerint is korlátozhatja. Az alábbi példakérésben látható módon az egyéni SearchParameter erőforráspéldány neve a következő USCoreRace. Ezt az SearchParameter erőforrást név szerint keresheti meg a következő használatával GET {{FHIR_URL}}/SearchParameter?name=USCoreRace: .

PUT {{FHIR_URL}}/SearchParameter/{{SearchParameter_ID}}

{
  "resourceType" : "SearchParameter",
  "id" : "{{SearchParameter_ID}}",
  "url" : "http://hl7.org/fhir/us/core/SearchParameter/us-core-race",
  "version" : "3.1.1",
  "name" : "USCoreRace",
  "status" : "active",
  "date" : "2019-05-21",
  "publisher" : "US Realm Steering Committee",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "other",
          "value" : "http://www.healthit.gov/"
        }
      ]
    }
  ],
  "description" : "New Description!",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "US",
          "display" : "United States of America"
        }
      ]
    }
  ],
  "code" : "race",
  "base" : [
    "Patient"
  ],
  "type" : "token",
  "expression" : "Patient.extension.where(url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race').extension.value.code"
}

A fenti kérés eredménye egy frissített SearchParameter erőforrás lesz.

Figyelmeztetés

Legyen óvatos a keresési paraméterek frissítésekor. A meglévő keresési paraméterek módosítása hatással lehet a várt viselkedésre. Javasoljuk, hogy azonnal futtasson egy újraindexelési feladatot.

Keresési paraméter törlése

Ha törölnie kell egy keresési paramétert, használja az alábbiakat.

DELETE {{FHIR_URL}}/SearchParameter/{{SearchParameter_ID}}

Figyelmeztetés

Legyen óvatos a keresési paraméterek törlésekor. A meglévő keresési paraméter törlése hatással lehet a várt viselkedésre. Javasoljuk, hogy azonnal futtasson egy újraindexelési feladatot.

Következő lépések

Ebben a cikkben megtanulta, hogyan hozhat létre egyéni keresési paramétert. Ezután megtudhatja, hogyan indexelheti újra az FHIR szolgáltatásadatbázist. További információk:

Feljegyzés

Az FHIR® a HL7 bejegyzett védjegye, amelyet a HL7 engedélyével használnak.