ShEx representations of FHIR slices

Harold, David and I met to discuss some FHIR slices and how they can
be described in ShEx. Today's mission included the BP profile.

Glossary:

  FHIR: (Fast Health Interoperability Resources) an HL7 clinical data
  standard with lots of development energy.

  slices: FHIR's name for repeated properties, e.g. a Blood Pressure
  observation which has components for systolic and diastolic (and
  posture and ...)

We discussed two ways to model <https://www.hl7.org/fhir/bp.html>:
ShEx 2.0 [[
<ObsShape> EXTRA :Observation.component {
  fhir:Observation.code EXTRA fhir:CodeableConcept.coding {
    fhir:CodeableConcept.coding {
      fhir:Coding.system { fhir:value [<http://loinc.org>] };
      fhir:Coding.code { fhir:value ["85354-9"] }
    };
    fhir:CodeableConcept.coding @<hasSysAndCode>*
  } ;
  fhir:Observation.valueQuantity . {0} ;
  :Observation.component {
    fhir:Observation.component.code {
      fhir:CodeableConcept.coding {
        fhir:Coding.system { fhir:value [<http://loinc.org>] };
        fhir:Coding.code { fhir:value ["8480-6"] }
      };
      fhir:CodeableConcept.coding @<hasSysAndCode>*
    } ;
    fhir:Observation.component.valueQuantity {
      fhir:Coding.code { fhir:value ["mmHg"] }
    }
  } ;
  :Observation.component {
    fhir:Observation.component.code {
      fhir:CodeableConcept.coding {
        fhir:Coding.system { fhir:value [<http://loinc.org>] };
        fhir:Coding.code { fhir:value ["8462-4"] }
      };
      fhir:CodeableConcept.coding @<hasSysAndCode>*
    } ;
    fhir:Observation.component.valueQuantity {
      fhir:Coding.code { fhir:value ["mmHg"] }
    }
  }
}

<hasSysAndCode> {
  fhir:Coding.system { fhir:value . };
  fhir:Coding.code { fhir:value . }
}
]]

ShEx 2.1 [[
<ObsShape> EXTRA :Observation.component {
  fhir:Observation.code EXTRA fhir:CodeableConcept.coding {
    fhir:CodeableConcept.coding EXTENDS <hasSysAndCode1> {
      fhir:Coding.system { fhir:value [<http://loinc.org>] } ;
      fhir:Coding.code { fhir:value ["85354-9"] }
    }
  } ;
  fhir:Observation.valueQuantity . {0} ;
  :Observation.component {
    fhir:Observation.component.code {
      fhir:CodeableConcept.coding EXTENDS <hasSysAndCode1> {
        fhir:Coding.system { fhir:value [<http://loinc.org>] } ;
        fhir:Coding.code { fhir:value ["8480-6"] }
      }
    } ;
    fhir:Observation.component.valueQuantity {
      fhir:Coding.code { fhir:value ["mmHg"] }
    }
  } ;
  :Observation.component {
    fhir:Observation.component.code {
      fhir:CodeableConcept.coding EXTENDS <hasSysAndCode1> {
        fhir:Coding.system { fhir:value [<http://loinc.org>] } ;
        fhir:Coding.code { fhir:value ["8462-4"] }
      }
    } ;
    fhir:Observation.component.valueQuantity {
      fhir:Coding.code { fhir:value ["mmHg"] }
    }
  }
}

<hasSysAndCode1> {
  fhir:CodeableConcept.coding {
    fhir:Coding.system { fhir:value . } ;
    fhir:Coding.code { fhir:value . }
  }*
}
]]

-- 
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.

Received on Tuesday, 13 February 2018 17:41:42 UTC