<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Registry-ChartedObservation" />
  <meta>
    <versionId value="81bac5e1-3a84-4702-9893-a754d4c8a814" />
    <lastUpdated value="2017-08-17T20:00:37.405-05:00" />
    <profile value="http://hl7.org/fhir/StructureDefinition/StructureDefinition" />
  </meta>
  <url value="http://registry-fhir.mayo.edu/StructureDefinition/Registry-ChartedObservation" />
  <version value="1.4.1.1" />
  <name value="Registry-ChartedObservation" />
  <publisher value="Mayo Clinical Registries" />
  <code>
    <system value="urn:Mayo:Registries:Profiles" />
    <code value="RegistryProfile" />
  </code>
  <status value="active" />
  <fhirVersion value="0.5.0" />
  <mapping>
    <identity value="CDM" />
    <uri value="http://registry.mayo.edu/models/CDM" />
    <name value="Clinical Registries Conceptual Data Model" />
  </mapping>
  <mapping>
    <identity value="EDT" />
    <uri value="http://registry.mayo.edu/models/EDT2.0" />
    <name value="Clinical Registries Conceptual Data Model" />
  </mapping>
  <type value="constraint" />
  <abstract value="false" />
  <base value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <snapshot>
    <element>
      <path value="Observation" />
      <label value="Charted Observation" />
      <definition value="Observed value charted in systems such as Flowsheets and Chart +." />
      <min value="0" />
      <max value="*" />
      <mapping>
        <identity value="CDM" />
        <map value="Charted Observation" />
      </mapping>
      <mapping>
        <identity value="EDT" />
        <map value=" :: --Master Query for Charted Observations: (Only for Height, Weight and BMI) SELECT A.PATIENT_CLINIC_NUMBER, A.FLOWSHEET_FPK, A.APPLIED_DATE_TIME, A.PRACTITIONER_MAYO_PERSON_ID, A.FLOWSHEET_RESULT_TXT, A.FLOWSHEET_UNIT_OF_MEASURE_TXT, A.DATA_STATUS, A.FLOWSHEET_NAME_DK, A.FLOWSHEET_TYPE_CODE, A.FLOWSHEET_TYPE_DESCRIPTION, A.CLASSFICATION_TEXT, A.FLOWSHEET_MEMO, A.FLOWSHEET_MEMO_OVERFLOW_FLAG, A.FLOWSHEET_SUMMARY_NOTE, A.FLOWSHEET_SUMMARY_NOTE_OVERFLOW_FLAG, A.LAST_UPDATE_DTM, A.FLOWSHEET_ROW_CAPTURED_DTM, --F.ENCOUNTER_NBR, --F.MODIFIER_TEXT, A.SOURCE_SYSTEM_KEY, A.FLOWSHEET_ROW_DESCRIPTION, A.FLOWSHEET_UNIQUE_KEY FROM ( SELECT DP.PATIENT_CLINIC_NUMBER, F.FLOWSHEET_FPK, F.FLOWSHEET_ASSESSMENT_DTM AS APPLIED_DATE_TIME, DHP.STANDARD_PROVIDER_DK AS PRACTITIONER_MAYO_PERSON_ID, F.FLOWSHEET_RESULT_TXT, F.FLOWSHEET_UNIT_OF_MEASURE_TXT, F.DATA_STATUS, DFN.FLOWSHEET_NAME_DK, DFN.FLOWSHEET_TYPE_CODE, DFN.FLOWSHEET_TYPE_DESCRIPTION, F.FLOWSHEET_TYPE_DESCRIPTION AS CLASSFICATION_TEXT, F.FLOWSHEET_MEMO, F.FLOWSHEET_MEMO_OVERFLOW_FLAG, F.FLOWSHEET_SUMMARY_NOTE, F.FLOWSHEET_SUMMARY_NOTE_OVERFLOW_FLAG, F.LAST_UPDATE_DTM, F.FLOWSHEET_ROW_CAPTURED_DTM, DFRN.SOURCE_SYSTEM_KEY, DFRN.FLOWSHEET_ROW_DESCRIPTION, --F.ENCOUNTER_NBR, --F.MODIFIER_TEXT, DP.PATIENT_CLINIC_NUMBER || '~' || VARCHAR_FORMAT(F.FLOWSHEET_ASSESSMENT_DTM,'YYYYMMDDHH24MISSFF') || '~'|| DFRN.SOURCE_SYSTEM_KEY|| '~'|| DFN.SOURCE_SYSTEM_KEY as FLOWSHEET_UNIQUE_KEY, ROW_NUMBER() OVER(PARTITION BY DP.PATIENT_CLINIC_NUMBER,F.FLOWSHEET_ASSESSMENT_DTM,DFRN.SOURCE_SYSTEM_KEY,DFN.SOURCE_SYSTEM_KEY ORDER BY DP.PATIENT_CLINIC_NUMBER,F.LAST_UPDATE_DTM DESC) AS RN FROM EDTWH.FACT_FLOWSHEETS F INNER JOIN EDTWH.DIM_FLOWSHEET_ROW_NAME DFRN ON DFRN.FLOWSHEET_ROW_NAME_DK=F.FLOWSHEET_ROW_NAME_DK INNER JOIN EDTWH.DIM_HEALTHCARE_PROVIDER DHP ON DHP.PROVIDER_DK=F.PROVIDER_DK INNER JOIN EDTWH.DIM_FLOWSHEET_NAME DFN ON DFN.FLOWSHEET_NAME_DK=F.FLOWSHEET_NAME_DK INNER JOIN EDTWH.DIM_PATIENT DP ON DP.PATIENT_DK=F.PATIENT_DK WHERE DFRN.SOURCE_SYSTEM_KEY IN ( '6114033 ','6116340' --HEIGHT ,'6114061',' 6114448'--WEIGHT ,'6114973 ','6117481'--BMI ) -- AND F.FLOWSHEET_TYPE_CODE='FINDNG' AND F.PATIENT_DK !=-99999 )A where A.RN=1 FOR READ ONLY WITH UR; " />
      </mapping>
    </element>
    <element>
      <path value="Observation.meta" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Meta" />
      </type>
    </element>
    <element>
      <path value="Observation.meta.lastUpdated" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="instant" />
      </type>
    </element>
    <element>
      <path value="Observation.code" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element>
      <path value="Observation.code.coding" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Coding" />
      </type>
    </element>
    <element>
      <path value="Observation.code.coding.system" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: set to 'http://terms.mayo.edu/codesystem/CE_RESULT'" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.coding.code" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: SOURCE_SYSTEM_KEY from master query for Charted Observations" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.coding.display" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: FLOWSHEET_ROW_DESCRIPTION in master query for charted observations." />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.coding.primary" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: set to 'true'" />
      </mapping>
    </element>
    <element>
      <path value="Observation.comments" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: concatenate FLOWSHEET_MEMO and FLOWSHEET_SUMMARY_NOTE from master query for Charted Observations." />
      </mapping>
    </element>
    <element>
      <path value="Observation.issued" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="instant" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: FLOWSHEET_ROW_CAPTURED_DTM from master query for charted observations. direct move if year in the date is between 1900 and 2099, Else discard." />
      </mapping>
    </element>
    <element>
      <path value="Observation.status" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: set to 'final'" />
      </mapping>
    </element>
    <element>
      <path value="Observation.identifier" />
      <label value="Form Identifier" />
      <definition value="Identifies the form used to collect the observation, note:this attribute id deprecated and will move to Charted Form when implemented" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Identifier" />
      </type>
      <mapping>
        <identity value="CDM" />
        <map value="Charted Observation.Form Identifier" />
      </mapping>
    </element>
    <element>
      <path value="Observation.identifier.use" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.identifier.value" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: FLOWSHEET_UNIQUE_KEY from master query for charted observations." />
      </mapping>
    </element>
    <element>
      <path value="Observation.subject" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element>
      <path value="Observation.subject.reference" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: Patient Referenced by PATIENT_CLINIC_NUMBER in the master query for Charted Observations" />
      </mapping>
    </element>
    <element>
      <path value="Observation.performer" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element>
      <path value="Observation.performer.reference" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: Practitioner referenced by PRACTITIONER_MAYO_PERSON_ID from master query for Charted Observations." />
      </mapping>
    </element>
    <element>
      <path value="Observation.valueQuantity" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element>
      <path value="Observation.valueQuantity.value" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: F.FLOWSHEET_RESULT_TXT from master query for Charted Observations" />
      </mapping>
    </element>
    <element>
      <path value="Observation.valueQuantity.comparator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueQuantity.units" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: FLOWSHEET_UNIT_OF_MEASURE_TXT from master query for Charted Observations" />
      </mapping>
    </element>
    <element>
      <path value="Observation.valueCodeableConcept" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element>
      <path value="Observation.valueCodeableConcept.coding" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Coding" />
      </type>
    </element>
    <element>
      <path value="Observation.valueCodeableConcept.coding.system" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="Observation.valueCodeableConcept.coding.code" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueCodeableConcept.coding.display" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueCodeableConcept.coding.primary" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: set to 'true'" />
      </mapping>
    </element>
    <element>
      <path value="Observation.valueString" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.low" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.low.value" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.low.comparator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.low.units" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.low.system" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.low.code" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.high" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.high.value" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.high.comparator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.high.units" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.high.system" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange.high.code" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.numerator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.numerator.value" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.numerator.comparator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.numerator.units" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.numerator.system" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.numerator.code" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.denominator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.denominator.value" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.denominator.comparator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.denominator.units" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.denominator.system" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio.denominator.code" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="SampledData" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.origin" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.origin.value" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.origin.comparator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.origin.units" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.origin.system" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.origin.code" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.period" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.factor" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.lowerLimit" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.upperLimit" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.dimensions" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="positiveInt" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData.data" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Attachment" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment.contentType" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment.data" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="base64Binary" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment.url" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment.size" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="unsignedInt" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment.hash" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="base64Binary" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment.title" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment.creation" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element>
      <path value="Observation.valueTime" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="time" />
      </type>
    </element>
    <element>
      <path value="Observation.valueDateTime" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element>
      <path value="Observation.valuePeriod" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element>
      <path value="Observation.valuePeriod.start" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element>
      <path value="Observation.valuePeriod.end" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element>
      <path value="Observation.appliesDateTime" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="dateTime" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: APPLIED_DATE_TIME from master query for charted observations. direct move if year in the date is between 1900 and 2099, Else discard." />
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element>
      <path value="Observation" />
      <label value="Charted Observation" />
      <definition value="Observed value charted in systems such as Flowsheets and Chart +." />
      <min value="0" />
      <max value="*" />
      <mapping>
        <identity value="CDM" />
        <map value="Charted Observation" />
      </mapping>
      <mapping>
        <identity value="EDT" />
        <map value=" :: --Master Query for Charted Observations: (Only for Height, Weight and BMI) SELECT A.PATIENT_CLINIC_NUMBER, A.FLOWSHEET_FPK, A.APPLIED_DATE_TIME, A.PRACTITIONER_MAYO_PERSON_ID, A.FLOWSHEET_RESULT_TXT, A.FLOWSHEET_UNIT_OF_MEASURE_TXT, A.DATA_STATUS, A.FLOWSHEET_NAME_DK, A.FLOWSHEET_TYPE_CODE, A.FLOWSHEET_TYPE_DESCRIPTION, A.CLASSFICATION_TEXT, A.FLOWSHEET_MEMO, A.FLOWSHEET_MEMO_OVERFLOW_FLAG, A.FLOWSHEET_SUMMARY_NOTE, A.FLOWSHEET_SUMMARY_NOTE_OVERFLOW_FLAG, A.LAST_UPDATE_DTM, A.FLOWSHEET_ROW_CAPTURED_DTM, --F.ENCOUNTER_NBR, --F.MODIFIER_TEXT, A.SOURCE_SYSTEM_KEY, A.FLOWSHEET_ROW_DESCRIPTION, A.FLOWSHEET_UNIQUE_KEY FROM ( SELECT DP.PATIENT_CLINIC_NUMBER, F.FLOWSHEET_FPK, F.FLOWSHEET_ASSESSMENT_DTM AS APPLIED_DATE_TIME, DHP.STANDARD_PROVIDER_DK AS PRACTITIONER_MAYO_PERSON_ID, F.FLOWSHEET_RESULT_TXT, F.FLOWSHEET_UNIT_OF_MEASURE_TXT, F.DATA_STATUS, DFN.FLOWSHEET_NAME_DK, DFN.FLOWSHEET_TYPE_CODE, DFN.FLOWSHEET_TYPE_DESCRIPTION, F.FLOWSHEET_TYPE_DESCRIPTION AS CLASSFICATION_TEXT, F.FLOWSHEET_MEMO, F.FLOWSHEET_MEMO_OVERFLOW_FLAG, F.FLOWSHEET_SUMMARY_NOTE, F.FLOWSHEET_SUMMARY_NOTE_OVERFLOW_FLAG, F.LAST_UPDATE_DTM, F.FLOWSHEET_ROW_CAPTURED_DTM, DFRN.SOURCE_SYSTEM_KEY, DFRN.FLOWSHEET_ROW_DESCRIPTION, --F.ENCOUNTER_NBR, --F.MODIFIER_TEXT, DP.PATIENT_CLINIC_NUMBER || '~' || VARCHAR_FORMAT(F.FLOWSHEET_ASSESSMENT_DTM,'YYYYMMDDHH24MISSFF') || '~'|| DFRN.SOURCE_SYSTEM_KEY|| '~'|| DFN.SOURCE_SYSTEM_KEY as FLOWSHEET_UNIQUE_KEY, ROW_NUMBER() OVER(PARTITION BY DP.PATIENT_CLINIC_NUMBER,F.FLOWSHEET_ASSESSMENT_DTM,DFRN.SOURCE_SYSTEM_KEY,DFN.SOURCE_SYSTEM_KEY ORDER BY DP.PATIENT_CLINIC_NUMBER,F.LAST_UPDATE_DTM DESC) AS RN FROM EDTWH.FACT_FLOWSHEETS F INNER JOIN EDTWH.DIM_FLOWSHEET_ROW_NAME DFRN ON DFRN.FLOWSHEET_ROW_NAME_DK=F.FLOWSHEET_ROW_NAME_DK INNER JOIN EDTWH.DIM_HEALTHCARE_PROVIDER DHP ON DHP.PROVIDER_DK=F.PROVIDER_DK INNER JOIN EDTWH.DIM_FLOWSHEET_NAME DFN ON DFN.FLOWSHEET_NAME_DK=F.FLOWSHEET_NAME_DK INNER JOIN EDTWH.DIM_PATIENT DP ON DP.PATIENT_DK=F.PATIENT_DK WHERE DFRN.SOURCE_SYSTEM_KEY IN ( '6114033 ','6116340' --HEIGHT ,'6114061',' 6114448'--WEIGHT ,'6114973 ','6117481'--BMI ) -- AND F.FLOWSHEET_TYPE_CODE='FINDNG' AND F.PATIENT_DK !=-99999 )A where A.RN=1 FOR READ ONLY WITH UR; " />
      </mapping>
    </element>
    <element>
      <path value="Observation.valueQuantity" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element>
      <path value="Observation.valueCodeableConcept" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element>
      <path value="Observation.valueString" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRange" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element>
      <path value="Observation.valueRatio" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element>
      <path value="Observation.valueSampledData" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="SampledData" />
      </type>
    </element>
    <element>
      <path value="Observation.valueAttachment" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Attachment" />
      </type>
    </element>
    <element>
      <path value="Observation.valueTime" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="time" />
      </type>
    </element>
    <element>
      <path value="Observation.valueDateTime" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element>
      <path value="Observation.valuePeriod" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element>
      <path value="Observation.appliesDateTime" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="dateTime" />
      </type>
      <mapping>
        <identity value="EDT" />
        <map value=" :: APPLIED_DATE_TIME from master query for charted observations. direct move if year in the date is between 1900 and 2099, Else discard." />
      </mapping>
    </element>
  </differential>
</StructureDefinition>