Moderne Patient:innenabrechnung und Datenkommunikation on FHIR (MOPED)
0.1.0 - ci-build

Moderne Patient:innenabrechnung und Datenkommunikation on FHIR (MOPED) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: MOPED Versichertenanspruchserklärung $anfragen (POC) - TTL Representation

Draft as of 2025-03-01

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:OperationDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "MOPED.VAERequest.Anfragen"] ; # 
  fhir:text [
fhir:status [ fhir:v "generated" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: OperationDefinition MOPED.VAERequest.Anfragen</b></p><a name=\"MOPED.VAERequest.Anfragen\"> </a><a name=\"hcMOPED.VAERequest.Anfragen\"> </a><a name=\"MOPED.VAERequest.Anfragen-en-US\"> </a><p>URL: [base]/Account/$anfragen</p><h3>Parameters</h3><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>aufnahmezahl</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#Identifier\">Identifier</a></td><td/><td><div><p>Der <em>aufnahmezahl</em> Parameter beinhaltet den eindeutigen Identifizierer für den relevanten Fall.</p>\n</div></td></tr><tr><td>IN</td><td>versicherer</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#Identifier\">Identifier</a></td><td/><td><div><p>Der <em>versicherer</em> Parameter beinhaltet den eindeutigen Identifizierer für den Versicherer an dem der VAERequest gerichtet ist.</p>\n</div></td></tr><tr><td>IN</td><td>verlaengerungstage</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#unsignedInt\">unsignedInt</a></td><td/><td><div><p>Der <em>verlaengerungstage</em> beschreibt, um wie viele Verlängerungstage angefragt wird.</p>\n</div></td></tr><tr><td>IN</td><td>sonderklasse</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#code\">code</a></td><td><a href=\"ValueSet-SonderklasseVS.html\">Sonderklasse ValueSet</a> (Required)</td><td><div><p>Der <em>sonderklasse</em> codiert, ob der Aufenthalt in der Allgemeine Gebührenklasse oder Sonderklasse stattfindet, da es bei speziellen Versicherungsträgern dafür Optionen gibt.</p>\n</div></td></tr><tr><td>IN</td><td>verdachtArbeitsSchuelerunfall</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#code\">code</a></td><td><a href=\"ValueSet-VerdachtArbeitsSchuelerunfallVS.html\">Verdacht auf Arbeits- oder Schuelerunfall ValueSet</a> (Required)</td><td><div><p>Mit Hilfe des <em>verdachtArbeitsSchuelerunfall</em> Parameters wird festgehalten, ob es bei der Patienten-Aufnahme einen Verdacht auf einen Schüler- oder Arbeitsunfall gibt. Wird dieser Parameter mitgegeben, ist im Account das entsprechende Feld zu befüllen.</p>\n</div></td></tr><tr><td>IN</td><td>verdachtFremdverschulden</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Mit Hilfe des <em>verdachtFremdverschulden</em> Parameters wird festgehalten, ob es bei der Patienten-Aufnahme einen Verdacht auf Fremdverschulden gibt. Wird dieser Parameter mitgegeben, ist im Account das entsprechende Feld zu befüllen.</p>\n</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R5/resource.html\">Resource</a> (<a href=\"http://hl7.org/fhir/R5/operationoutcome.html\" title=\"http://hl7.org/fhir/StructureDefinition/OperationOutcome\">OperationOutcome</a>)</td><td/><td><div><p>Der <em>return</em> Parameter gibt Auskunft über den Erfolg der Operation.</p>\n</div></td></tr></table><div><p>TBD: Ist hier evtl. eine Transaction die bessere Lösung? Bei dieser Operation findet keine Status-Änderung statt. Lediglich auf die Precondition des Workflow-Status müsste geachtet werden.</p>\n</div></div>"^^rdf:XMLLiteral
  ] ; # 
  fhir:url [ fhir:v "https://elga.moped.at/OperationDefinition/MOPED.VAERequest.Anfragen"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.1.0"] ; # 
  fhir:name [ fhir:v "MOPED_VAERequest_Anfragen"] ; # 
  fhir:title [ fhir:v "MOPED Versichertenanspruchserklärung $anfragen (POC)"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:kind [ fhir:v "operation"] ; # 
  fhir:date [ fhir:v "2025-03-01T12:22:50+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "ELGA GmbH"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "ELGA GmbH" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://elga.gv.at" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Die Versichertenanspruchserklärung $anfragen Operation wird aufgerufen, um die Versichertenanspruchserklärung-Anfrage an die SV anzustoßen. Diese Operation ist irrelevant für Selbstzahler (das ist wichtig für künftige weiterentwicklung - wenn im Account auf eine Coverage-Ressource für Selbstzahler referenziert wird, darf die Operation $anfragen nicht ausgeführt werden)."] ; # 
  fhir:purpose [ fhir:v "\nLegende: ~~durchgestrichen~~ heißt, dass es für den IG zwar bedacht wird, für den ersten POC jedoch nicht relevant ist.\n\n**Wer ruft diese Operation in welchem Zusammenhang auf?**\n\nDie Operation wird vom Akteur Krankenhaus (KH) aufgerufen. Die Versichertenanspruchserklärung $anfragen Operation wird aufgerufen, um die Versichertenanspruchserklärung-Anfrage an die SV anzustoßen. ~~Diese Operation ist irrelevant für Selbstzahler (das ist wichtig für künftige weiterentwicklung - wenn im Account auf eine Coverage-Ressource für Selbstzahler referenziert wird, darf die Operation $anfragen nicht ausgeführt werden).~~\n\n**Voraussetzungen für den Aufruf**\n\n* Account-Status: : `Aufnahme freigegeben`\n\n**Detaillierte Business-Logik**\n\n1. Suche des MopedEncounter: Der MopedEncounter mit der jeweiligen *aufnahmezahl* lt. Operation-Parameter wird gesucht\n2. Suche aller MopedTransferEncounter die *partOf* den MopedEncounter aus Schritt 1 referenzieren\n3. Suchen des MopedAccounts: Die Referenz des *MopedEncounter.account* aus Schritt 1.\n4. Erstellung des MopedVAERequest: \n  * a. *MopedVAERequest.status* mit 'active'\n  * b. *MopedVAERequest.type* mit 'institutional'\n  * c. *MopedVAERequest.use* mit 'preauthorization'\n  * d. *MopedVAERequest.Verlaengerungstage* mit *verlaengerungstage* lt. Operation-Parameter befüllen\n  * e. *MopedVAERequest.created* mit dem aktuellem Zeitpunkt befüllen\n  * f. *MopedVAERequest.Sonderklasse* mit *sonderklasse* lt. Operation-Parameter befüllen\n  * g. *MopedVAERequest.patient* mit *MopedAccount.subject* befüllen\n  * h. *MopedVAERequest.insurance.coverage* mit *MopedAccount.coverage.coverage* befüllen\n  * i. *MopedVAERequest.provider* mit *MopedAccount.owner* befüllen\n  * j. *MopedVAERequest.insurer* mit einer Referenz auf jene Organization befüllen, deren *Organization.identifier* dem Identifier *versicherer* lt. Operation-Parameter entspricht\n  * k. *MopedVAERequest.encounter* mit allen gefundenen Encountern aus Schritt 1 und 2 befüllen.\n  * l. *MopedVAERequest.supportingInfo[VerdachtFremdverschulden].valueBoolean* lt. Operation-Parameter befüllen\n  * m. *MopedVAERequest.accident.VerdachtArbeitsSchuelerunfall* lt. Operation-Parameter befüllen\n5. POSTen des neu erstellten MopedVAERequest\n\n**Validierung / Fehlerbehandlung**\n* *Nur POC: MopedAccount.coverage* darf nur eine Versicherung gelistet haben\n* *MopedVAERequest.patient* muss mit *Coverage.beneficiary* mit der Coverage aus Schritt 3h übereinstimmen\n* *MopedVAERequest.insurer* muss mit *Coverage.insurer* mit der Coverage aus aus Schritt 3h übereinstimmen\n* ~~*MopedVAERequest.provider* muss gleichzeitig die gleiche Organisation sein, die lt. Token die Operation aufgerufen hat.~~\n\n**Weitere Hinweise**\n\n* Hinweis 1: Nach dieser Operation findet lt. Soll-Prozess kein Update des Status *MopedAccount.workflowStatus* statt.\n\n**Annahmen an das BeS**\n* Es wurde vorab geprüft, ob das `system` des Parameters `aufnahmezahl` dem GDA entspricht, der die Operation aufruft. Somit ist sichergestellt, dass nur Kostenübernahmen für eigene Fälle angefragt werden können.\n"] ; # 
  fhir:affectsState [ fhir:v "true"^^xsd:boolean] ; # 
  fhir:code [ fhir:v "anfragen"] ; # 
  fhir:comment [ fhir:v "TBD: Ist hier evtl. eine Transaction die bessere Lösung? Bei dieser Operation findet keine Status-Änderung statt. Lediglich auf die Precondition des Workflow-Status müsste geachtet werden."] ; # 
  fhir:resource ( [ fhir:v "Account"] ) ; # 
  fhir:system [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:type [ fhir:v "true"^^xsd:boolean] ; # 
  fhir:instance [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:parameter ( [
fhir:name [ fhir:v "aufnahmezahl" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v "1"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "Der *aufnahmezahl* Parameter beinhaltet den eindeutigen Identifizierer für den relevanten Fall." ] ;
fhir:type [ fhir:v "Identifier" ]
  ] [
fhir:name [ fhir:v "versicherer" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v "1"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "Der *versicherer* Parameter beinhaltet den eindeutigen Identifizierer für den Versicherer an dem der VAERequest gerichtet ist." ] ;
fhir:type [ fhir:v "Identifier" ]
  ] [
fhir:name [ fhir:v "verlaengerungstage" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "Der *verlaengerungstage* beschreibt, um wie viele Verlängerungstage angefragt wird." ] ;
fhir:type [ fhir:v "unsignedInt" ]
  ] [
fhir:name [ fhir:v "sonderklasse" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "Der *sonderklasse* codiert, ob der Aufenthalt in der Allgemeine Gebührenklasse oder Sonderklasse stattfindet, da es bei speziellen Versicherungsträgern dafür Optionen gibt." ] ;
fhir:type [ fhir:v "code" ] ;
fhir:binding [
fhir:strength [ fhir:v "required" ] ;
fhir:valueSet [
fhir:v "https://elga.moped.at/ValueSet/SonderklasseVS"^^xsd:anyURI ;
fhir:link <https://elga.moped.at/ValueSet/SonderklasseVS>       ]     ]
  ] [
fhir:name [ fhir:v "verdachtArbeitsSchuelerunfall" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "Mit Hilfe des *verdachtArbeitsSchuelerunfall* Parameters wird festgehalten, ob es bei der Patienten-Aufnahme einen Verdacht auf einen Schüler- oder Arbeitsunfall gibt. Wird dieser Parameter mitgegeben, ist im Account das entsprechende Feld zu befüllen." ] ;
fhir:type [ fhir:v "code" ] ;
fhir:binding [
fhir:strength [ fhir:v "required" ] ;
fhir:valueSet [
fhir:v "https://elga.moped.at/ValueSet/VerdachtArbeitsSchuelerunfallVS"^^xsd:anyURI ;
fhir:link <https://elga.moped.at/ValueSet/VerdachtArbeitsSchuelerunfallVS>       ]     ]
  ] [
fhir:name [ fhir:v "verdachtFremdverschulden" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "Mit Hilfe des *verdachtFremdverschulden* Parameters wird festgehalten, ob es bei der Patienten-Aufnahme einen Verdacht auf Fremdverschulden gibt. Wird dieser Parameter mitgegeben, ist im Account das entsprechende Feld zu befüllen." ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "return" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v "1"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "Der *return* Parameter gibt Auskunft über den Erfolg der Operation." ] ;
fhir:type [ fhir:v "Resource" ] ;
    ( fhir:targetProfile [
fhir:v "http://hl7.org/fhir/StructureDefinition/OperationOutcome"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/StructureDefinition/OperationOutcome>     ] )
  ] ) . #