eHealth Infrastructure
2.3.0 - release

eHealth Infrastructure - Local Development build (v2.3.0). See the Directory of published versions

: Get patient procedures - TTL Representation

Active as of 2022-09-27

Raw ttl | Download


@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@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:Resource.id [ fhir:value "-s-get-patient-procedures"];
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "extensions" ];
     fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>URL: [base]/$get-patient-procedures</p><p>Parameters</p><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</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>patient</td><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/references.html#Reference\">Reference</a></td><td/><td/></tr><tr><td>IN</td><td>episodeOfCare</td><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/references.html#Reference\">Reference</a></td><td/><td/></tr><tr><td>IN</td><td>conditionCodings</td><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#Coding\">Coding</a></td><td/><td/></tr><tr><td>IN</td><td>start</td><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#dateTime\">dateTime</a></td><td/><td/></tr><tr><td>IN</td><td>end</td><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#dateTime\">dateTime</a></td><td/><td/></tr><tr><td>OUT</td><td>return</td><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></td><td/><td/></tr></table></div>"
  ];
  fhir:OperationDefinition.url [ fhir:value "https://careplan.devtest.systematic-ehealth.com/fhir/OperationDefinition/-s-get-patient-procedures"];
  fhir:OperationDefinition.version [ fhir:value "2.3.0"];
  fhir:OperationDefinition.name [ fhir:value "get-patient-procedures"];
  fhir:OperationDefinition.title [ fhir:value "Get patient procedures"];
  fhir:OperationDefinition.status [ fhir:value "active"];
  fhir:OperationDefinition.kind [ fhir:value "operation"];
  fhir:OperationDefinition.date [ fhir:value "2022-09-27T12:58:35+00:00"^^xsd:dateTime];
  fhir:OperationDefinition.publisher [ fhir:value "Systematic | Trifork"];
  fhir:OperationDefinition.contact [
     fhir:index 0;
     fhir:ContactDetail.name [ fhir:value "Systematic | Trifork" ];
     fhir:ContactDetail.telecom [
       fhir:index 0;
       fhir:ContactPoint.system [ fhir:value "url" ];
       fhir:ContactPoint.value [ fhir:value "http://ehealth.sundhed.dk" ]     ]
  ];
  fhir:OperationDefinition.description [ fhir:value "This operation returns an overview of patient activities within a time period and filtered by either EpisodeOfCare or Condition code(s). On success, the returned Bundle contains a Parameters structure detailing the count of measurements received and expected. This is done per ServiceRequest with status active for those part of a CarePlan with status active related to eligible EpisodeOfCare resources. Eligible EpisodeOfCare are those with status active that refer to the given Patient and are either given as EpisodeOfCare reference in input or are referencing a Condition with a condition code that matches at least one of the Condition codes possibly given as input. The measurement regime expressed in ServiceRequest.occurrence[x] is, when possible, resolved to time slot(s) corresponding to datetime/period where an action is supposed to take place, typically performed by the Patient. When the occurrenceTiming variant is used, resolved time slots overlapping with the input time periode are considered. For occurrenceTiming expression which are either adhoc or unresolved, the effective datetime/period of a measurement is considered when checked for overlap with input time period.\r\n## Input\r\nThe operation has three mandatory inputs, a Patient reference, a start date and an end date. Additionally the operation has two optional inputs: a list of reference(s) to EpisodeOfCare and a list of Codings for Condition.\r\n### Patient reference\r\nMandatory reference for the Patient which the procedure overview is computed for.\r\n### Start and end datetimes\r\nStart and end datetime are both mandatory, and together specify the period of interest in the patient procedure overview. As stated above, for resolvable past and future time slots as well as adhoc and unresolved timings there must overlap with this period.\r\n### EpisodeOfCare list\r\nThe list of EpisodeOfCare references is optional, but either of EpisodeOfCare or Condition codes must be provided. If EpisodeOfCare are provided, these will be used to further filter which active EpisodeOfCare, CarePlan and ServiceRequest are considered for the patient procedure overview.\r\n### Condition Coding list\r\nThe list of Coding for Condition is optional, but either of EpisodeOfCare or Condition codes must be provided. If Condition Coding are provided, the EpisodeOfCare considered are those referring to a Condition matching at least one of the codes in the list. As above, the EpisodeOfCare (one or more) considered further determines which active EpisodeOfCare, CarePlan and ServiceRequest are considered.\r\n## Output\r\nFor valid inputs, the server will compute and return a Bundle. The Bundle contains a Parameters resource with resolved measurement regimes and associated counts of measurement submitted and counts expected. Such counts are also included in the Parameters structure when the measurement regime is either adhoc or unresolved. In addition, the Bundle contains CarePlan and ServiceRequest referenced in the Parameters. The Bundle can contain an OperationOutcome describing any encountered warnings.\r\n### Output Parameters\r\nThe output contains rows (encoded in parameters) for each matching and active ServiceRequest with resolved timings overlapping with the requested period. \r\n\r\nRows are represented as Parameters.parameter with names: item_1, item_2, etc. Columns are represented as Parameters.parameter.part with name and value \r\n```\r\nExample:\r\n'resource': {\r\n    'resourceType': 'Parameters',\r\n    'parameter': [{\r\n            'name': 'item_1',\r\n            'part': [{\r\n                    'name': 'CarePlan',\r\n                    'valueReference': {\r\n                        'reference': 'https://careplan.devtest.systematic-ehealth.com/fhir/CarePlan/164581'\r\n                    }\r\n            }]\r\n    }]\r\n}\r\n ```\r\n\r\n### Columns\r\n\r\n- CarePlan: Reference to the CarePlan that the ServiceRequest belongs to.\r\n- ServiceRequest: Reference to the ServiceRequest.\r\n- ServiceRequestVersionId: The version of the ServiceRequest (version specified at time of submit-measurement or the current version (for expected activities)).\r\n- Activity: Description of the planned activity.\r\n- ResolvedTimingStart: A planned start time for the activity in the requested period.\r\n- ResolvedTimingEnd: A planned end time for the activity in the requested period. May be identical to start if no duration is specified in the measurement regime.\r\n- TotalSubmitted: The number of measurements already submitted for this ServiceRequest and resolved timing.\r\n- SubmittedTimely: The number of measurements where the measurement time matches the resolved timing.\r\n- TimingType:\r\n    * Resolved: a measurement regime that is supported by the infrastructure and where resolved timing and requested number of measurements can be calculated.\r\n    * Unresolved: a measurement regime that is not supported by the infrastructure. Resolved Timing Start, end, submitted timely and Occurrences requested will be empty.\r\n    * Adhoc: A ServiceRequest without a measurement regime or a measurement regime stating ad-hoc.\r\n- OccurencesRequested: Expected number of measurements."];
  fhir:OperationDefinition.affectsState [ fhir:value "true"^^xsd:boolean];
  fhir:OperationDefinition.code [ fhir:value "get-patient-procedures"];
  fhir:OperationDefinition.system [ fhir:value "true"^^xsd:boolean];
  fhir:OperationDefinition.type [ fhir:value "false"^^xsd:boolean];
  fhir:OperationDefinition.instance [ fhir:value "false"^^xsd:boolean];
  fhir:OperationDefinition.parameter [
     fhir:index 0;
     fhir:OperationDefinition.parameter.name [ fhir:value "patient" ];
     fhir:OperationDefinition.parameter.use [ fhir:value "in" ];
     fhir:OperationDefinition.parameter.min [ fhir:value "1"^^xsd:integer ];
     fhir:OperationDefinition.parameter.max [ fhir:value "1" ];
     fhir:OperationDefinition.parameter.type [ fhir:value "Reference" ]
  ], [
     fhir:index 1;
     fhir:OperationDefinition.parameter.name [ fhir:value "episodeOfCare" ];
     fhir:OperationDefinition.parameter.use [ fhir:value "in" ];
     fhir:OperationDefinition.parameter.min [ fhir:value "0"^^xsd:integer ];
     fhir:OperationDefinition.parameter.max [ fhir:value "*" ];
     fhir:OperationDefinition.parameter.type [ fhir:value "Reference" ]
  ], [
     fhir:index 2;
     fhir:OperationDefinition.parameter.name [ fhir:value "conditionCodings" ];
     fhir:OperationDefinition.parameter.use [ fhir:value "in" ];
     fhir:OperationDefinition.parameter.min [ fhir:value "0"^^xsd:integer ];
     fhir:OperationDefinition.parameter.max [ fhir:value "*" ];
     fhir:OperationDefinition.parameter.type [ fhir:value "Coding" ]
  ], [
     fhir:index 3;
     fhir:OperationDefinition.parameter.name [ fhir:value "start" ];
     fhir:OperationDefinition.parameter.use [ fhir:value "in" ];
     fhir:OperationDefinition.parameter.min [ fhir:value "1"^^xsd:integer ];
     fhir:OperationDefinition.parameter.max [ fhir:value "1" ];
     fhir:OperationDefinition.parameter.type [ fhir:value "dateTime" ]
  ], [
     fhir:index 4;
     fhir:OperationDefinition.parameter.name [ fhir:value "end" ];
     fhir:OperationDefinition.parameter.use [ fhir:value "in" ];
     fhir:OperationDefinition.parameter.min [ fhir:value "1"^^xsd:integer ];
     fhir:OperationDefinition.parameter.max [ fhir:value "1" ];
     fhir:OperationDefinition.parameter.type [ fhir:value "dateTime" ]
  ], [
     fhir:index 5;
     fhir:OperationDefinition.parameter.name [ fhir:value "return" ];
     fhir:OperationDefinition.parameter.use [ fhir:value "out" ];
     fhir:OperationDefinition.parameter.min [ fhir:value "0"^^xsd:integer ];
     fhir:OperationDefinition.parameter.max [ fhir:value "1" ];
     fhir:OperationDefinition.parameter.type [ fhir:value "Bundle" ]
  ].

# - ontology header ------------------------------------------------------------

 a owl:Ontology;
  owl:imports fhir:fhir.ttl.