Skip to content

Commit

Permalink
Merge pull request #76 from Path-Check/master
Browse files Browse the repository at this point in the history
Bringing downstream changes to this repo
  • Loading branch information
brynrhodes authored May 22, 2024
2 parents 2ce15c1 + 07c1ee6 commit 3553f6f
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 16 deletions.
45 changes: 31 additions & 14 deletions spec/elm/schema/cqlannotations.xsd
Original file line number Diff line number Diff line change
@@ -1,24 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:hl7-org:cql-annotations:r1" xmlns:sch="http://purl.oclc.org/dsdl/schematron" targetNamespace="urn:hl7-org:cql-annotations:r1" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="CqlToElmBase" abstract="true">
<xs:annotation>
<xs:documentation>The CqlToElmBase type defines the abstract base type for all annotation elements in the CQL Translator.</xs:documentation>
</xs:annotation>
</xs:complexType>
<xs:complexType name="Annotation">
<xs:sequence>
<xs:element name="t" type="Tag" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="s" type="Narrative" minOccurs="0" maxOccurs="1"/>
<xs:element name="locator" type="Locator" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:complexContent>
<xs:extension base="CqlToElmBase">
<xs:sequence>
<xs:element name="t" type="Tag" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="s" type="Narrative" minOccurs="0" maxOccurs="1"/>
<xs:element name="locator" type="Locator" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Tag">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:complexType name="Locator">
<xs:attribute name="librarySystem" type="xs:string" use="optional"/>
<xs:attribute name="libraryId" type="xs:string" use="optional"/>
<xs:attribute name="libraryVersion" type="xs:string" use="optional"/>
<xs:attribute name="startLine" type="xs:int" use="optional"/>
<xs:attribute name="startChar" type="xs:int" use="optional"/>
<xs:attribute name="endLine" type="xs:int" use="optional"/>
<xs:attribute name="endChar" type="xs:int" use="optional"/>
<xs:complexContent>
<xs:extension base="CqlToElmBase">
<xs:attribute name="librarySystem" type="xs:string" use="optional"/>
<xs:attribute name="libraryId" type="xs:string" use="optional"/>
<xs:attribute name="libraryVersion" type="xs:string" use="optional"/>
<xs:attribute name="startLine" type="xs:int" use="optional"/>
<xs:attribute name="startChar" type="xs:int" use="optional"/>
<xs:attribute name="endLine" type="xs:int" use="optional"/>
<xs:attribute name="endChar" type="xs:int" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Narrative" mixed="true">
<xs:complexContent>
Expand Down Expand Up @@ -121,7 +134,11 @@
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CqlToElmInfo">
<xs:attribute name="translatorVersion" type="xs:string"/>
<xs:attribute name="translatorOptions" type="xs:string"/>
<xs:complexContent>
<xs:extension base="CqlToElmBase">
<xs:attribute name="translatorVersion" type="xs:string"/>
<xs:attribute name="translatorOptions" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
20 changes: 18 additions & 2 deletions spec/elm/schema/expression.xsd
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:hl7-org:elm:r1" xmlns:sch="http://purl.oclc.org/dsdl/schematron" targetNamespace="urn:hl7-org:elm:r1" elementFormDefault="qualified">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:hl7-org:elm:r1"
xmlns:a="urn:hl7-org:cql-annotations:r1"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
targetNamespace="urn:hl7-org:elm:r1"
elementFormDefault="qualified">
<xs:annotation>
<xs:documentation>This file defines the core expression components used throughout artifacts based on the Expression Logical Model. The core expression components defined here are intended to be general purpose, and do not reference anything specific to the clinical quality domain. This layering is intended to isolate the conceptual elements of a general purpose expression language from the clinically-focused operations relevant to the clinical quality domain.</xs:documentation>
</xs:annotation>
<xs:import namespace="urn:hl7-org:cql-annotations:r1" schemaLocation="cqlannotations.xsd"/>
<xs:complexType name="Element" abstract="true">
<xs:annotation>
<xs:documentation>The Element type defines the abstract base type for all library elements in ELM.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" type="xs:anyType" minOccurs="0" maxOccurs="unbounded">
<xs:element name="annotation" type="a:CqlToElmBase" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The annotation element provides a mechanism for decorating expressions with application-specific information such as translation hints, visual designer information, or debug symbols.</xs:documentation>
</xs:annotation>
Expand Down Expand Up @@ -122,6 +128,16 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ParameterTypeSpecifier">
<xs:annotation>
<xs:documentation>A type which is generic class parameter such as T in MyGeneric&lt;T extends SomeType&gt;.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TypeSpecifier">
<xs:attribute name="parameterName" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Expression" abstract="true">
<xs:annotation>
<xs:documentation>The Expression type defines the abstract base type for all expressions used in the ELM expression language.</xs:documentation>
Expand Down

0 comments on commit 3553f6f

Please sign in to comment.