Översikt över FHIR-målmappningen för MedTech-tjänsten
Anteckning
FHIR® (Fast Healthcare Interoperability Resources) är en öppen hälsospecifikation.
Den här artikeln innehåller en översikt över FHIR-målmappningen för MedTech-tjänsten.
MedTech-tjänsten kräver två typer av JSON-mappningar som läggs till i Din MedTech-tjänst via api:et Azure Portal eller Azure Resource Manager. Enhetsmappningen är den första typen och styr mappningsvärden i enhetsdata som skickas till MedTech-tjänsten till ett internt, normaliserat dataobjekt. Enhetsmappningen innehåller uttryck som MedTech-tjänsten använder för att extrahera typer, enhetsidentifierare, mätningsdatumtid och måttvärden. FHIR-målmappningen är den andra typen och styr hur normaliserade data mappas till FHIR-observationer.
Anteckning
Enhets- och FHIR-målmappningarna utvärderas på nytt varje gång ett enhetsmeddelande bearbetas. Alla uppdateringar av någon av mappningarna börjar gälla omedelbart.
Grunderna för FHIR-målmappning
FHIR-målmappningen styr hur normaliserade data som extraheras från ett enhetsmeddelande mappas till en FHIR-observation.
- Ska en observation skapas för en tidpunkt eller under en tidsperiod på en timme?
- Vilka koder ska läggas till i observationen?
- Ska värdet representeras som SampledData eller quantity?
De här datatyperna är alla alternativ för konfigurationskontrollerna för FHIR-målmappning.
När enhetsdata omvandlas till en normaliserad datamodell samlas normaliserade data in för omvandling till en FHIR-observation. Om observationstypen är SampledData grupperas data efter enhetsidentifierare, måtttyp och tidsperiod (tidsperioden kan vara antingen 1 timme eller 24 timmar). Utdata från den här grupperingen skickas för konvertering till en enda FHIR-observation som representerar tidsperioden för den datatypen. För andra observationstyper (Quantity, CodeableConcept och String) grupperas inte data, utan i stället omvandlas varje mätning till en enda observation som representerar en tidpunkt.
Tips
Mer information om hur MedTech-tjänsten bearbetar enhetsmeddelandedata till FHIR-observationer för beständighet i FHIR-tjänsten finns i Översikt över medTech-tjänstens enhetsmeddelandebearbetningssteg.
Det här diagrammet ger en bild av vad som händer under omvandlingsfasen i MedTech-tjänsten.
Anteckning
FHIR-observationen i det här diagrammet är inte den fullständiga resursen. Se Exempel i den här översikten för hela FHIR-observationen.
CollectionFhir
CollectionFhir är den rotmallstyp som används av MedTech-tjänstens FHIR-målmappning. CollectionFhir är en lista över alla mallar som används under omvandlingsfasen. Du kan definiera en eller flera mallar i CollectionFhir, där varje normaliserat meddelande utvärderas mot alla mallar.
CodeValueFhir
CodeValueFhir är för närvarande den enda mall som stöds i FHIR-målmappningen. Det gör att du kan definiera koder, den effektiva perioden och värdet för observationen. Flera värdetyper stöds: SampledData, CodeableConcept, Quantity och String. Tillsammans med dessa konfigurerbara värden hanteras identifieraren för observationsresursen och länkningen till rätt enhets- och patientresurser automatiskt.
Viktigt
Lösningstypen anger hur MedTech-tjänsten associerar enhetsdata med enhetsresurser och patientresurser. MedTech-tjänsten läser enhets- och patientresurser från FHIR-tjänsten med hjälp av enhetsidentifierare och patientidentifierare. Om en påträffad identifierare anges och extraheras från nyttolasten för enhetsdata länkas den till observationen om det finns ett påträff på FHIR-tjänsten med den identifieraren. Om påträffade identifierare har normaliserats, men det inte finns något FHIR-möte med den påträffade identifieraren, genereras ett FhirResourceNotFound-undantag . Mer information om hur du konfigurerar lösningstypen för MedTech-tjänsten finns i Konfigurera fliken Mål.
Element | Beskrivning | Krävs |
---|---|---|
Typename | Den typ av mått som den här mallen ska bindas till. Obs! Det bör finnas minst en mall för enhetsmappning som har samma typeName . Elementet typeName används för att länka en FHIR-målmappningsmall till en eller flera mallar för enhetsmappning. Enhetsmappningsmallar med samma typeName element genererar normaliserade data som utvärderas med en FHIR-målmappningsmall som har samma typeName . |
Sant |
periodInterval | Den tidsperiod som observationen skapade bör representera. Värden som stöds är 0 (en instans), 60 (en timme), 1 440 (en dag). | Sant när observationstypen är SampledData; Ignoreras för andra observationstyper. |
Kategori | Valfritt antal CodeableConcepts för att klassificera typen av observation som skapats. | Falskt |
Koder | En eller flera kodningar som ska tillämpas på den observation som skapats. | Sant |
codes[].code | Koden för en kodning i elementet codes . |
Sant |
codes[].system | Systemet för en kodning i -elementet codes . |
Falskt |
codes[].display | Visningen för en kodning i -elementet codes . |
Falskt |
värde | Värdet som ska extraheras och representeras i observationen. Mer information om de element som elementet value innehåller finns i Värdetyper. |
Sant när elementet components inte används (såvida inte observationstypen är CodebleConcept, i vilket fall det här elementet inte bara är "inte obligatoriskt" utan också ignoreras). |
Komponenter | En eller flera komponenter som ska skapas vid observationen. | Sant när elementet value inte används i stället. |
components[].codes | En eller flera kodningar som ska tillämpas på komponenten. | Falskt |
components[].value | Värdet som ska extraheras och representeras i komponenten. Mer information om de element som elementet components[].value innehåller finns i Värdetyper. |
Sant när elementet components används (såvida inte observationstypen är CodebleConcept, i vilket fall det här elementet inte bara är "inte obligatoriskt" utan också ignoreras). |
Värdetyper
Alla CodeValueFhir-mallars value
element innehåller följande element:
Element | Beskrivning | Krävs |
---|---|---|
Valuetype | Typ av värde. Det här värdet är "SampledData", "Quantity", "CodeableConcept" eller "String" beroende på värdetypen. | Sant |
valueName | Namnet på värdet. | Sant om inte valueType är CodeableConcept. |
Dessa värdetyper stöds i MedTech-tjänstens FHIR-målmappning:
SampledData
Representerar datatypen SampledData FHIR. Observationsmätningar skrivs till en värdeström som börjar vid en tidpunkt och ökar framåt med hjälp av den definierade perioden. Om inget värde finns skrivs ett E
till dataströmmen. Om perioden är sådan att två eller flera värden upptar samma position i dataströmmen används det senaste värdet. Samma logik tillämpas när en observation med SampledData uppdateras. För en CodeValueFhir-mall med värdetypen SampledData innehåller mallelementet value
följande element:
Element | Beskrivning | Krävs |
---|---|---|
defaultPeriod | Standardperioden i millisekunder som ska användas. | Sant |
Enhet | Den enhet som ska anges för sampledDatas ursprung. | Sant |
Kvantitet
Representerar datatypen Quantity FHIR. Den här typen skapar en enda punkt i tiden, Observation. Om ett nytt värde kommer som innehåller samma enhetsidentifierare, måtttyp och tidsstämpel, uppdateras den tidigare observationen till det nya värdet. För en CodeValueFhir-mall med värdetypen Quantity innehåller mallelementet value
följande element:
Element | Beskrivning | Krävs |
---|---|---|
Enhet | Enhetsrepresentation. | Falskt |
kod | Enhetens kodade form. | Falskt |
system | System som definierar det kodade enhetsformuläret. | Falskt |
CodeableConcept
Representerar datatypen CodeableConcept FHIR. Värdet i den normaliserade datamodellen används inte, och i stället när den här typen av data tas emot skapas en observation med en specifik kod som representerar att en observation registrerades vid en viss tidpunkt. För en CodeValueFhir-mall med värdetypen CodeableConcept innehåller mallelementet value
följande element:
Element | Beskrivning | Krävs |
---|---|---|
Text | Oformaterad textrepresentation. | Falskt |
Koder | En eller flera kodningar som ska tillämpas på den observation som skapats. | Sant |
codes[].code | Koden för en kodning i elementet codes . |
Sant |
codes[].system | Systemet för en kodning i -elementet codes . |
Falskt |
codes[].display | Visningen för en kodning i -elementet codes . |
Falskt |
Sträng
Representerar datatypen String FHIR. Den här typen skapar en enda punkt i tiden, Observation. Om ett nytt värde kommer som innehåller samma enhetsidentifierare, måtttyp och tidsstämpel, uppdateras den tidigare observationen till det nya värdet. Inga andra element har definierats.
Exempel
Tips
Du kan använda felsökningsprogrammet för MedTech-tjänstens mappning för att få hjälp med att skapa, uppdatera och felsöka MedTech-tjänstenheten och FHIR-målmappningarna. Med felsökningsprogrammet mappning kan du enkelt visa och göra infogade justeringar i realtid, utan att behöva lämna Azure Portal. Felsökningsprogrammet mappning kan också användas för att ladda upp testenhetsmeddelanden för att se hur de kommer att se ut efter att ha bearbetats till normaliserade meddelanden och omvandlats till FHIR-observationer.
Anteckning
Det här exemplet och det normaliserade meddelandet är en fortsättning från Översikt över enhetsmappningen för MedTech-tjänsten.
I det här exemplet använder vi ett normaliserat meddelande som heartRate
samlar in data:
[
{
"type": "heartrate",
"occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
"deviceId": "device01",
"properties": [
{
"name": "hr",
"value": "78"
}
]
}
]
Vi använder den här FHIR-målmappningen för omvandlingsfasen:
{
"templateType": "CollectionFhir",
"template": [
{
"templateType": "CodeValueFhir",
"template": {
"codes": [
{
"code": "8867-4",
"system": "http://loinc.org",
"display": "Heart rate"
}
],
"typeName": "heartrate",
"value": {
"system": "http://unitsofmeasure.org",
"code": "count/min",
"unit": "count/min",
"valueName": "hr",
"valueType": "Quantity"
}
}
}
]
}
Den resulterande FHIR-observationen ser ut så här efter omvandlingsfasen:
[
{
"code": {
"coding": [
{
"system": {
"value": "http://loinc.org"
},
"code": {
"value": "8867-4"
},
"display": {
"value": "Heart rate"
}
}
],
"text": {
"value": "heartrate"
}
},
"effective": {
"start": {
"value": "2023-03-13T22:46:01.8750000Z"
},
"end": {
"value": "2023-03-13T22:46:01.8750000Z"
}
},
"issued": {
"value": "2023-04-05T21:02:59.1650841+00:00"
},
"value": {
"value": {
"value": 78
},
"unit": {
"value": "count/min"
},
"system": {
"value": "http://unitsofmeasure.org"
},
"code": {
"value": "count/min"
}
}
}
]
Tips
Information om hur du åtgärdar vanliga distributionsfel för MedTech-tjänsten finns i Felsöka distributionsfel för MedTech-tjänsten.
Mer information om hur du åtgärdar MedTech-tjänstfel finns i Felsöka fel med hjälp av MedTech-tjänstloggarna.
Nästa steg
I den här artikeln har du fått en översikt över FHIR-målmappningen för MedTech-tjänsten.
En översikt över enhetsmappningen för MedTech-tjänsten finns i
Information om hur du använder CalculatedContent med enhetsmappningen för MedTech-tjänsten finns i
Information om hur du använder IotJsonPathContent med enhetsmappningen för MedTech-tjänsten finns i
Information om hur du använder anpassade funktioner med enhetsmappning för MedTech-tjänsten finns i
En översikt över exempel på scenariobaserade mappningar för MedTech-tjänsten finns i
FHIR® är ett registrerat varumärke som tillhör Health Level Seven International, registrerat i U.S. Trademark Office och används med deras tillstånd.