FHIR-erőforrások ellenőrzése profilokkal az Azure Health Data Servicesben
Az FHIR szolgáltatás cikk áruházi profiljaiban végigvezette az FHIR-profilok alapjait, és tárolta őket. Az Azure Health Data Services FHIR szolgáltatása (a továbbiakban: FHIR szolgáltatás) lehetővé teszi az erőforrások profilok közötti érvényesítését annak ellenőrzése érdekében, hogy az erőforrások megfelelnek-e a profiloknak. Ez a cikk bemutatja, hogyan használható $validate
az erőforrások profilok elleni érvényesítéséhez.
$validate
a Fast Healthcare Interoperability Resources (FHIR®) egy olyan művelete, amely lehetővé teszi annak biztosítását, hogy egy FHIR-erőforrás megfeleljen az alaperőforrás-követelményeknek vagy egy megadott profilnak. Ez a művelet biztosítja, hogy az FHIR szolgáltatás adatai a várt attribútumokkal és értékekkel rendelkezjenek. Az érvényesítési művelettel kapcsolatos információkért tekintse meg a HL7 FHIR specifikációját.
Specifikációnként a Mód a paranccsal $validate
adható meg, például létrehozás és frissítés:
create
: Az Azure API for FHIR ellenőrzi, hogy a profil tartalma egyedi-e a meglévő erőforrásoktól, és hogy elfogadható-e új erőforrásként létrehozni.update
: Ellenőrzi, hogy a profil egy frissítés-e a kijelölt meglévő erőforráson (ez nem módosítja a nem módosítható mezőket).
Az erőforrások ellenőrzésének különböző módjai vannak:
- 1. lehetőség: Meglévő erőforrás érvényesítése érvényesítési művelettel.
- 2. lehetőség: Új erőforrás érvényesítése érvényesítési művelettel.
- 3. lehetőség: Ellenőrizze az erőforrás CREATE/UPDATE elemét a fejléc használatával.
Egy meglévő/új erőforrás sikeres érvényesítése esetén az erőforrás nem marad meg az FHIR szolgáltatásban. Használja a 3. lehetőséget: Ellenőrizze a CREATE/UPDATE erőforrást fejléc használatával, hogy a sikeresen ellenőrzött erőforrás megmaradjon az FHIR szolgáltatásban.
Az FHIR szolgáltatás mindig egy OperationOutcome
értéket ad vissza $validate művelet érvényesítési eredményeként. Az FHIR szolgáltatás kétlépéses ellenőrzést végez, amint egy erőforrást átadnak $validate végpontnak – az első lépés egy alapszintű ellenőrzés, amely biztosítja az erőforrás elemzését. Az erőforrás-elemzés során az egyes hibákat ki kell javítani, mielőtt továbblép a következő lépésre. Az erőforrás sikeres elemzése után a rendszer a teljes ellenőrzést második lépésként hajtja végre.
Megjegyzés
Az ellenőrzéshez használni kívánt értékkészleteket fel kell tölteni az FHIR-kiszolgálóra. Ide tartoznak az FHIR-specifikáció részét képező értékhalmazok, valamint az implementációs útmutatókban meghatározott valueSetek. Csak az összes kód teljes listáját tartalmazó teljesen kibontott Értékhalmazok támogatottak. A külső forrásokra hivatkozó ValueSet-definíciók nem támogatottak.
1. lehetőség: Meglévő erőforrás érvényesítése
Meglévő erőforrás érvényesítéséhez használja a következőt $validate
egy GET
kérésben:
GET http://<your FHIR service base URL>/{resource}/{resource ID}/$validate
Például:
GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/a6e11662-def8-4dde-9ebc-4429e68d130e/$validate
Ebben a példában a meglévő Patient erőforrást a6e11662-def8-4dde-9ebc-4429e68d130e
érvényesíti az alap patient erőforráshoz. Ha érvényes, az alábbi példakódhoz hasonlót fog kapni OperationOutcome
:
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"diagnostics": "All OK"
}
]
}
Ha az erőforrás érvénytelen, hibaüzenet jelenik meg, amely részletesen ismerteti, hogy miért érvénytelen az erőforrás. Egy példa OperationOutcome
hibaüzenetekkel jelenik meg, és az alábbi példakódhoz hasonlóan nézhet ki:
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.identifier.value' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient.identifier[1]"
]
},
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.gender' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient"
]
}
]
}
Ebben a példában az erőforrás nem felelt meg a megadott Betegprofilnak, amelyhez egy betegazonosító értékre és nemre volt szükség.
Ha paraméterként szeretne megadni egy profilt, megadhatja az érvényesítendő profil canonical URL-címét, például az alábbi példát a HL7-alapú profilhoz heartrate
:
GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Observation/12345678/$validate?profile=http://hl7.org/fhir/StructureDefinition/heartrate
2. lehetőség: Új erőforrás érvényesítése
Ha ellenőrizni szeretne egy új erőforrást, amelyet feltölt a kiszolgálóra, kérést POST
tehet:
POST http://<your FHIR service base URL>/{Resource}/$validate
Például:
POST https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/$validate
Ez a kérés először ellenőrzi az erőforrást. A kérelemben megadott új erőforrás az ellenőrzés után jön létre.
A kiszolgáló mindig egy OperationOutcome
értéket ad vissza eredményül.
3. lehetőség: Ellenőrzés a CREATE/UPDATE erőforráson fejléc használatával
Kiválaszthatja, hogy mikor szeretné ellenőrizni az erőforrást, például az erőforráson CREATE
vagy UPDATE
a rendszeren. Alapértelmezés szerint az FHIR szolgáltatás úgy van konfigurálva, hogy letiltsa az érvényesítést az erőforráson Create/Update
. Ez a képesség lehetővé teszi, hogy a fejléc használatával érvényesítse a-onCreate/Update
.x-ms-profile-validation
Állítsa az "x-ms-profile-validation" értéket true (igaz) értékre az ellenőrzéshez.
Megjegyzés
A nyílt forráskódú FHIR szolgáltatásban módosíthatja a kiszolgáló konfigurációs beállítását a CoreFeatures területen.
{
"FhirServer": {
"CoreFeatures": {
"ProfileValidationOnCreate": true,
"ProfileValidationOnUpdate": false
}
}
A szigorú ellenőrzés engedélyezéséhez használja a "Prefer: handling" fejlécet szigorú értékkel. A fejléc beállításával az érvényesítési figyelmeztetés hibaüzenetként jelenik meg.
Következő lépések
Ebből a cikkből megtudhatta, hogyan érvényesítheti az erőforrásokat a profilok alapján a használatával $validate
. Az FHIR szolgáltatás egyéb támogatott funkcióival kapcsolatos további információkért lásd:
Az FHIR® a HL7 bejegyzett védjegye, és a HL7 engedélyével használják.