diff --git a/input-cache/txcache/loinc.cache b/input-cache/txcache/loinc.cache new file mode 100644 index 0000000..cfdd57b --- /dev/null +++ b/input-cache/txcache/loinc.cache @@ -0,0 +1,31 @@ +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "85354-9" +}, "valueSet" :null, "lang":"null"}#### +v: { + "display" : "Blood pressure panel with all children optional", + "severity" : null, + "error" : "" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8480-6" +}, "valueSet" :null, "lang":"null"}#### +v: { + "display" : "Systolic blood pressure", + "severity" : null, + "error" : "" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8462-4" +}, "valueSet" :null, "lang":"null"}#### +v: { + "display" : "Diastolic blood pressure", + "severity" : null, + "error" : "" +} +------------------------------------------------------------------------------------- diff --git a/input/examples/Patient-example.xml b/input/examples/Patient-example.xml index ccf2134..0fcb9d9 100644 --- a/input/examples/Patient-example.xml +++ b/input/examples/Patient-example.xml @@ -1,11 +1,32 @@ - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/myig.xml b/input/myig.xml index b63c559..ab323b2 100644 --- a/input/myig.xml +++ b/input/myig.xml @@ -1,8 +1,8 @@ - - + + <status value="draft"/> @@ -28,7 +28,7 @@ --> </coding> </jurisdiction> - <packageId value="hl7.fhir.uv.myig"/> + <packageId value="example.fhir.uv.myig"/> <!-- This is whatever FHIR version the IG artifacts are targeting (not the version of this file, which should always be 'current release') --> <fhirVersion value="4.0.0"/> <definition> diff --git a/input/resources/myObservation.xml b/input/resources/myObservation.xml new file mode 100644 index 0000000..41cc093 --- /dev/null +++ b/input/resources/myObservation.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<StructureDefinition xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas-r5/fhir-single.xsd"> + <id value="myObservation"/> + <url value="http://example.org/fhir/uv/myig/StructureDefinition/myObservation"/> + <name value="MyObservation"/> + <title value="My Observation Profile"/> + <status value="draft"/> + <description value="A profile showing the use of XML to author profiles"/> + <fhirVersion value="4.0.0"/> + <kind value="resource"/> + <abstract value="false"/> + <type value="Observation"/> + <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation"/> + <derivation value="constraint"/> + <differential> + <element id="Observation.code"> + <path value="Observation.code"/> + <patternCodeableConcept> + <coding> + <system value="http://loinc.org"/> + <code value="85354-9"/> + </coding> + </patternCodeableConcept> + </element> + <element id="Observation.component"> + <path value="Observation.component"/> + <slicing> + <discriminator> + <type value="pattern"/> + <path value="code"/> + </discriminator> + <ordered value="false"/> + <rules value="open"/> + </slicing> + <min value="2"/> + <max value="*"/> + </element> + <element id="Observation.component:Systolic"> + <path value="Observation.component"/> + <sliceName value="Systolic"/> + <min value="1"/> + <max value="1"/> + </element> + <element id="Observation.component:Systolic.code"> + <path value="Observation.component.code"/> + <short value="Systolic pressure"/> + <patternCodeableConcept> + <coding> + <system value="http://loinc.org"/> + <code value="8480-6"/> + </coding> + </patternCodeableConcept> + </element> + <element id="Observation.component:Systolic.value[x]"> + <path value="Observation.component.valueQuantity"/> + <type> + <code value="Quantity"/> + </type> + </element> + <element id="Observation.component:Systolic.value[x]:valueQuantity.value"> + <path value="Observation.component.valueQuantity.value"/> + <min value="1"/> + <mustSupport value="true"/> + </element> + <element id="Observation.component:Systolic.value[x]:valueQuantity.system"> + <path value="Observation.component.valueQuantity.system"/> + <min value="1"/> + <fixedUri value="http://unitsofmeasure.org"/> + <mustSupport value="true"/> + </element> + <element id="Observation.component:Systolic.value[x]:valueQuantity.code"> + <path value="Observation.component.valueQuantity.code"/> + <min value="1"/> + <fixedCode value="mm[Hg]"/> + <mustSupport value="true"/> + </element> + <element id="Observation.component:Diastolic"> + <path value="Observation.component"/> + <sliceName value="Diastolic"/> + <min value="1"/> + <max value="1"/> + </element> + <element id="Observation.component:Diastolic.code"> + <path value="Observation.component.code"/> + <patternCodeableConcept> + <coding> + <system value="http://loinc.org"/> + <code value="8462-4"/> + </coding> + </patternCodeableConcept> + </element> + <element id="Observation.component:Diastolic.value[x]:valueQuantity"> + <path value="Observation.component.valueQuantity"/> + <type> + <code value="Quantity"/> + </type> + </element> + <element id="Observation.component:Diastolic.value[x]:valueQuantity.value"> + <path value="Observation.component.valueQuantity.value"/> + <min value="1"/> + <mustSupport value="true"/> + </element> + <element id="Observation.component:Diastolic.value[x]:valueQuantity.system"> + <path value="Observation.component.valueQuantity.system"/> + <min value="1"/> + <fixedUri value="http://unitsofmeasure.org"/> + <mustSupport value="true"/> + </element> + <element id="Observation.component:Diastolic.value[x]:valueQuantity.code"> + <path value="Observation.component.valueQuantity.code"/> + <min value="1"/> + <fixedCode value="mm[Hg]"/> + <mustSupport value="true"/> + </element> + </differential> +</StructureDefinition> diff --git a/input/resources/resources-spreadsheet.xml b/input/resources/resources-spreadsheet.xml index 2cf830d..f87f29b 100644 --- a/input/resources/resources-spreadsheet.xml +++ b/input/resources/resources-spreadsheet.xml @@ -20,7 +20,7 @@ <WindowWidth>7890</WindowWidth> <WindowTopX>32767</WindowTopX> <WindowTopY>32767</WindowTopY> - <ActiveSheet>2</ActiveSheet> + <ActiveSheet>1</ActiveSheet> <ProtectStructure>False</ProtectStructure> <ProtectWindows>False</ProtectWindows> </ExcelWorkbook> @@ -833,6 +833,12 @@ </Borders> <Interior/> </Style> + <Style ss:ID="s164" ss:Parent="s62"> + <Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1" + ss:WrapText="1"/> + <Borders/> + <Interior/> + </Style> </Styles> <Worksheet ss:Name="Instructions"> <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="5" x:FullColumns="1" @@ -918,12 +924,12 @@ </Row> <Row ss:AutoFitHeight="0"> <Cell ss:StyleID="s74"><Data ss:Type="String">published.structure</Data></Cell> - <Cell ss:StyleID="s77"><Data ss:Type="String">somePatientProfile</Data></Cell> + <Cell ss:StyleID="s77"><Data ss:Type="String">myPatient</Data></Cell> </Row> <Row ss:AutoFitHeight="0"> <Cell ss:StyleID="s74"><Data ss:Type="String">extension.uri</Data></Cell> - <Cell ss:StyleID="s79" ss:HRef="http://hl7.org/fhir/uv/myig/StructureDefinition/ext-"><Data - ss:Type="String">http://hl7.org/fhir/uv/myig/StructureDefinition/ext-</Data></Cell> + <Cell ss:StyleID="s79" ss:HRef="http://example.org/fhir/uv/myig/StructureDefinition/ext-"><Data + ss:Type="String">http://example.org/fhir/uv/myig/StructureDefinition/ext-</Data></Cell> </Row> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> @@ -938,6 +944,7 @@ <HorizontalResolution>600</HorizontalResolution> <VerticalResolution>600</VerticalResolution> </Print> + <Selected/> <FreezePanes/> <FrozenNoSplit/> <SplitHorizontal>1</SplitHorizontal> @@ -957,19 +964,17 @@ </Pane> <Pane> <Number>0</Number> - <ActiveRow>10</ActiveRow> - <ActiveCol>0</ActiveCol> - <RangeSelection>R11</RangeSelection> + <ActiveRow>11</ActiveRow> </Pane> </Panes> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> - <Worksheet ss:Name="somePatientProfile"> + <Worksheet ss:Name="myPatient"> <Names> - <NamedRange ss:Name="_FilterDatabase" - ss:RefersTo="=somePatientProfile!R1C1:R81C25" ss:Hidden="1"/> + <NamedRange ss:Name="_FilterDatabase" ss:RefersTo="=myPatient!R1C1:R81C25" + ss:Hidden="1"/> </Names> <Table ss:ExpandedColumnCount="25" ss:ExpandedRowCount="82" x:FullColumns="1" x:FullRows="1" ss:StyleID="s84" ss:DefaultColumnWidth="65.25" @@ -1173,11 +1178,13 @@ <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s110"><NamedCell ss:Name="_FilterDatabase"/></Cell> </Row> - <Row ss:AutoFitHeight="0"> + <Row ss:Height="45"> <Cell ss:StyleID="s103"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s164" ss:HRef="mailto:type.@pattern"><Data ss:Type="String">use, period.end.@exists</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s105"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s105"><Data ss:Type="String">Patient.name</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> @@ -1200,20 +1207,56 @@ <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s110"><NamedCell ss:Name="_FilterDatabase"/></Cell> </Row> - <Row ss:AutoFitHeight="0"> + <Row ss:Height="60"> + <Cell ss:StyleID="s103"><Data ss:Type="String">CurrentOfficial</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s105"><Data ss:Type="String">Patient.name</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">1..1</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">Y</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s107"><Data ss:Type="String">… CurrentOfficial is an official name for the patient that does not have an end date specified.</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s108"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s107"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s108"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s110"><NamedCell ss:Name="_FilterDatabase"/></Cell> + </Row> + <Row> <Cell ss:StyleID="s103"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s105"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s105"><Data ss:Type="String">Patient.name.use</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">1..1</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">code</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">Y</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">official</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:Index="13" ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s107"><NamedCell ss:Name="_FilterDatabase"/></Cell> @@ -1231,39 +1274,15 @@ <Cell ss:StyleID="s103"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s105"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s107"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s108"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s107"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s108"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s109"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s110"><NamedCell ss:Name="_FilterDatabase"/></Cell> - </Row> - <Row ss:AutoFitHeight="0"> - <Cell ss:StyleID="s103"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s104"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s105"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> - <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s105"><Data ss:Type="String">Patient.name.period.end</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">0..0</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> + <Cell ss:StyleID="s106"><Data ss:Type="String">Y</Data><NamedCell + ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:StyleID="s106"><NamedCell ss:Name="_FilterDatabase"/></Cell> @@ -3293,7 +3312,6 @@ <HorizontalResolution>600</HorizontalResolution> <VerticalResolution>600</VerticalResolution> </Print> - <Selected/> <FreezePanes/> <FrozenNoSplit/> <SplitHorizontal>1</SplitHorizontal> @@ -3314,8 +3332,8 @@ </Pane> <Pane> <Number>0</Number> - <ActiveRow>3</ActiveRow> - <ActiveCol>3</ActiveCol> + <ActiveRow>6</ActiveRow> + <ActiveCol>7</ActiveCol> </Pane> </Panes> <ProtectObjects>False</ProtectObjects>