@the-cascade-protocol/cli 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/commands/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2QpC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBlE"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/commands/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6RpC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBlE"}
@@ -98,6 +98,23 @@ function getCapabilities(version) {
98
98
  'cascade pod query ./my-pod --encounters --conditions --json',
99
99
  'cascade pod query ./my-pod --all --json',
100
100
  ],
101
+ outputSchema: {
102
+ description: 'JSON output structure for --json flag',
103
+ shape: '{ pod: string, dataTypes: { [type]: { count: number, file: string, records: Record[] } } }',
104
+ recordShape: '{ id: string, type: string, properties: { [prefixed-property]: string } }',
105
+ propertyPrefixes: {
106
+ 'health:': 'wellness/device data — health:testName, health:resultValue, health:resultUnit, health:performedDate, health:testCode (LOINC URI), health:conditionName, health:conditionCategory (FHIR category: problem-list-item|encounter-diagnosis|social-history), health:snomedSemanticTag (semantic type from SNOMED display name: disorder|finding|situation|procedure|observable entity), health:status (active/inactive/resolved), health:onsetDate, health:medicationName, health:isActive (true/false string), health:rxNormCode',
107
+ 'clinical:': 'EHR-imported clinical data — clinical:encounterDate, clinical:encounterType, clinical:procedureName, clinical:procedureDate, clinical:drugCode, clinical:clinicalIntent',
108
+ 'core:': 'provenance — core:sourceSystem, core:dataProvenance, core:schemaVersion, core:reconciliationStatus, core:mergedSources',
109
+ },
110
+ jqExamples: [
111
+ "# Clinical conditions only (excludes social findings): jq '[.dataTypes.conditions.records[] | select(.properties.\"health:status\" == \"active\" and .properties.\"health:snomedSemanticTag\" == \"disorder\") | .properties.\"health:conditionName\"]'",
112
+ "# All active conditions including findings: jq '[.dataTypes.conditions.records[] | select(.properties.\"health:status\" == \"active\") | {name: .properties.\"health:conditionName\", type: .properties.\"health:snomedSemanticTag\"}]'",
113
+ "# HbA1c trend (most recent first): jq '[.dataTypes.\"lab-results\".records[] | select(.properties.\"health:testName\" | test(\"A1c|Hemoglobin A1c\"; \"i\")) | {date: .properties.\"health:performedDate\", value: .properties.\"health:resultValue\", unit: .properties.\"health:resultUnit\"}] | sort_by(.date) | reverse'",
114
+ "# Active medications: jq '[.dataTypes.medications.records[] | select(.properties.\"health:isActive\" == \"true\") | .properties.\"health:medicationName\"]'",
115
+ "# Medications with source provenance: jq '[.dataTypes.medications.records[] | {name: .properties.\"health:medicationName\", active: .properties.\"health:isActive\", sources: .properties.\"core:mergedSources\"}]'",
116
+ ],
117
+ },
101
118
  status: 'implemented',
102
119
  },
103
120
  {
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/commands/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/commands/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAyCnE,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,OAAO;QACP,WAAW,EAAE,0FAA0F;QACvG,QAAQ,EAAE,6BAA6B;QACvC,aAAa,EAAE;YACb,YAAY,EAAE,iCAAiC;YAC/C,WAAW,EAAE,uBAAuB;YACpC,UAAU,EAAE,2DAA2D;YACvE,QAAQ,EAAE,uDAAuD;SAClE;QACD,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,qDAAqD;gBAClE,KAAK,EAAE,0CAA0C;gBACjD,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sCAAsC,EAAE;oBAC5G,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uCAAuC,EAAE;oBAC3G,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE;oBAC3F,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,sCAAsC,EAAE;iBAC7G;gBACD,QAAQ,EAAE,CAAC,6BAA6B,EAAE,iCAAiC,CAAC;gBAC5E,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,6EAA6E;gBAC1F,KAAK,EAAE,gEAAgE;gBACvE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0CAA0C,EAAE;oBAC1G,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;oBAC9G,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACrH,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,6BAA6B,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACnJ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE;iBAC5F;gBACD,QAAQ,EAAE,CAAC,sDAAsD,EAAE,yDAAyD,CAAC;gBAC7H,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,kDAAkD;gBAC/D,KAAK,EAAE,8BAA8B;gBACrC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;gBAC5H,QAAQ,EAAE,CAAC,2BAA2B,CAAC;gBACvC,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,6HAA6H;gBAC1I,KAAK,EAAE,mDAAmD;gBAC1D,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gCAAgC,EAAE;oBAClG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,4DAA4D,EAAE;oBAC9H,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,6DAA6D,EAAE;oBACxI,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gEAAgE,EAAE;oBAC3I,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kEAAkE,EAAE;oBACrI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8CAA8C,EAAE;oBAClH,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8CAA8C,EAAE;oBACpH,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;oBACjJ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE;iBAC5F;gBACD,QAAQ,EAAE;oBACR,2EAA2E;oBAC3E,4GAA4G;oBAC5G,wDAAwD;iBACzD;gBACD,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,yCAAyC;gBACtD,KAAK,EAAE,uCAAuC;gBAC9C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBAC3F,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC7F,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBAC3F,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE;oBACzF,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC7F,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBACjG,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC7F,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC7F,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBAC3F,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE;oBACpG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE;oBACxF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,2CAA2C,EAAE;iBAC/G;gBACD,QAAQ,EAAE;oBACR,iDAAiD;oBACjD,6DAA6D;oBAC7D,yCAAyC;iBAC1C;gBACD,YAAY,EAAE;oBACZ,WAAW,EAAE,uCAAuC;oBACpD,KAAK,EAAE,4FAA4F;oBACnG,WAAW,EAAE,2EAA2E;oBACxF,gBAAgB,EAAE;wBAChB,SAAS,EAAE,8fAA8f;wBACzgB,WAAW,EAAE,yKAAyK;wBACtL,OAAO,EAAE,wHAAwH;qBAClI;oBACD,UAAU,EAAE;wBACV,yPAAyP;wBACzP,yOAAyO;wBACzO,8TAA8T;wBAC9T,6JAA6J;wBAC7J,qNAAqN;qBACtN;iBACF;gBACD,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,0CAA0C;gBACvD,KAAK,EAAE,4BAA4B;gBACnC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;gBACzG,QAAQ,EAAE,CAAC,2BAA2B,CAAC;gBACvC,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,6CAA6C;gBAC1D,KAAK,EAAE,wCAAwC;gBAC/C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBAC3F,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;iBACnI;gBACD,QAAQ,EAAE,CAAC,6BAA6B,EAAE,gDAAgD,CAAC;gBAC3F,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,oIAAoI;gBACjJ,KAAK,EAAE,wCAAwC;gBAC/C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE;oBACjH,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uDAAuD,EAAE;oBAC3H,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,sDAAsD,EAAE;oBAC1H,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kEAAkE,EAAE;oBACrI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE;iBAC5F;gBACD,QAAQ,EAAE;oBACR,sFAAsF;oBACtF,0EAA0E;iBAC3E;gBACD,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,0CAA0C;gBACvD,KAAK,EAAE,uDAAuD;gBAC9D,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBACnG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBAC/F,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE;iBAC5F;gBACD,QAAQ,EAAE,CAAC,mDAAmD,CAAC;gBAC/D,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,yCAAyC;gBACtD,KAAK,EAAE,+BAA+B;gBACtC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0CAA0C,EAAE;oBAC3G,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBACpI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAAE;oBAC3G,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE;iBAC9F;gBACD,QAAQ,EAAE,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;gBACpF,MAAM,EAAE,aAAa;aACtB;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,uEAAuE;gBACpF,KAAK,EAAE,sBAAsB;gBAC7B,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC,sBAAsB,CAAC;gBAClC,MAAM,EAAE,aAAa;aACtB;SACF;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,8DAA8D;gBAC3E,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;aAC/H;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,4FAA4F;gBACzG,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC9E,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,oDAAoD,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC3G,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACpG,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACtF;aACF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,uCAAuC;gBACpD,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACvF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;iBACxT;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,2CAA2C;gBACxD,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACnF;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,yDAAyD;gBACtE,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC9E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;oBACjG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;oBAC/F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;iBACzH;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,4DAA4D;gBACzE,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACvF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE;oBACxL,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACzF,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kEAAkE,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACjI;aACF;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,gDAAgD;gBAC7D,UAAU,EAAE,EAAE;aACf;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAmB,CAAC;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC;QAC7C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9C,8DAA8D;QAC9D,8EAA8E;QAC9E,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"converters-clinical.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-clinical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EACL,KAAK,gBAAgB,EAkBtB,MAAM,YAAY,CAAC;AAMpB,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CA2F/F;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAqDrF;AAMD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAwD9F;AAMD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAoB7D;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAiH1F;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAiG5F;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAgDrF;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAgD5F;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAsErF;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAkF5F;AAMD,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAmDpG;AAMD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CA+ClF;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAuDxF"}
1
+ {"version":3,"file":"converters-clinical.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-clinical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EACL,KAAK,gBAAgB,EAkBtB,MAAM,YAAY,CAAC;AAMpB,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CA2F/F;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAmErF;AAMD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAwD9F;AAMD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAoB7D;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAiH1F;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAiG5F;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAgDrF;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAgD5F;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAsErF;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAkF5F;AAMD,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAmDpG;AAMD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CA+ClF;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAuDxF"}
@@ -117,6 +117,18 @@ export function convertCondition(resource) {
117
117
  quads.push(...commonTriples(subjectUri));
118
118
  const condName = codeableConceptText(resource.code) ?? 'Unknown Condition';
119
119
  quads.push(tripleStr(subjectUri, NS.health + 'conditionName', condName));
120
+ // FHIR Condition.category — e.g. problem-list-item, encounter-diagnosis, social-history
121
+ const fhirCategory = resource.category?.[0]?.coding?.[0]?.code ?? resource.category?.[0]?.text;
122
+ if (fhirCategory) {
123
+ quads.push(tripleStr(subjectUri, NS.health + 'conditionCategory', fhirCategory));
124
+ }
125
+ // SNOMED semantic tag — the parenthetical type suffix in the display name, e.g. "(disorder)",
126
+ // "(finding)", "(situation)". Lets downstream tools distinguish clinical from administrative records
127
+ // without a full SNOMED hierarchy lookup.
128
+ const semanticTagMatch = condName.match(/\(([^)]+)\)$/);
129
+ if (semanticTagMatch) {
130
+ quads.push(tripleStr(subjectUri, NS.health + 'snomedSemanticTag', semanticTagMatch[1]));
131
+ }
120
132
  const clinicalStatus = resource.clinicalStatus?.coding?.[0]?.code ?? 'active';
121
133
  quads.push(tripleStr(subjectUri, NS.health + 'status', clinicalStatus));
122
134
  if (resource.onsetDateTime) {
@@ -1 +1 @@
1
- {"version":3,"file":"converters-clinical.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-clinical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converters-clinical.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-clinical.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,8 @@
20
20
  dct:description "Vocabulary for clinical documents, narratives, and structured notes imported from EHR systems via Apple HealthKit"@en ;
21
21
  dct:creator "Cascade Agentic Labs" ;
22
22
  dct:created "2025-12-26"^^xsd:date ;
23
- dct:modified "2026-02-22"^^xsd:date ;
24
- owl:versionInfo "1.6" ;
23
+ dct:modified "2026-03-12"^^xsd:date ;
24
+ owl:versionInfo "1.7" ;
25
25
  rdfs:comment "Domain-specific vocabulary for clinical documentation and structured records imported from patient portals (MyChart, Epic, etc.). Contains EHR-verified clinical data."@en ;
26
26
  rdfs:seeAlso <https://cascadeprotocol.org/docs/clinical/v1.0/> .
27
27
 
@@ -752,7 +752,7 @@ clinical:icd10Code a owl:DatatypeProperty ;
752
752
 
753
753
  clinical:linkedConditionIds a owl:DatatypeProperty ;
754
754
  rdfs:label "Linked Condition IDs"@en ;
755
- rdfs:comment "Space-separated UUIDs of related ConditionSummary records. Enables graph traversal between related diagnoses (e.g., complication to root condition)."@en ;
755
+ rdfs:comment "Space-separated UUIDs of related ConditionSummary records (e.g., linking a complication to its root condition). Enables graph traversal between related diagnoses."@en ;
756
756
  rdfs:domain clinical:Condition ;
757
757
  rdfs:range xsd:string .
758
758
 
@@ -768,7 +768,7 @@ clinical:vaccineName a owl:DatatypeProperty ;
768
768
 
769
769
  clinical:vaccineCode a owl:DatatypeProperty ;
770
770
  rdfs:label "Vaccine Code"@en ;
771
- rdfs:comment "CVX code for the vaccine"@en ;
771
+ rdfs:comment "CVX code for the vaccine (legacy — use clinical:cvxCode for new serialization; v1.6)"@en ;
772
772
  rdfs:domain clinical:Immunization ;
773
773
  rdfs:range xsd:string .
774
774
 
@@ -1298,6 +1298,15 @@ clinical:isActive a owl:DatatypeProperty ;
1298
1298
  # Changelog
1299
1299
  # ============================================================================
1300
1300
  #
1301
+ # Version 1.6 (2026-02-22)
1302
+ # - Added clinical:linkedConditionIds DatatypeProperty on clinical:Condition
1303
+ # for linking related ConditionSummary records via space-separated UUIDs.
1304
+ # Enables graph traversal between related diagnoses (e.g., complication to
1305
+ # root condition). Part of Health Map v3 Pre-Phase Track A (Task A2).
1306
+ # - Annotated clinical:vaccineCode as legacy in favor of clinical:cvxCode
1307
+ # (both defined; cvxCode added v1.1, vaccineCode retained for backward
1308
+ # compatibility).
1309
+ #
1301
1310
  # Version 1.5 (2026-02-10)
1302
1311
  # - Added CoverageRecord class (11 properties) for insurance coverage data
1303
1312
  # Maps to fhir:Coverage. Layer 2 complement to checkup:InsuranceInfo (Layer 3).
@@ -1367,3 +1376,182 @@ clinical:isActive a owl:DatatypeProperty ;
1367
1376
  # All documents imported via clinical: vocabulary use cascade:ClinicalGenerated provenance
1368
1377
  # Source: Apple HealthKit HKClinicalRecord API
1369
1378
  # Privacy: Documents may contain PHI - encrypted storage required
1379
+
1380
+ # ============================================================================
1381
+ # New Class: clinical:Encounter
1382
+ # Added in v1.7 — supports FHIR Encounter conversion
1383
+ # ============================================================================
1384
+
1385
+ clinical:Encounter a owl:Class ;
1386
+ rdfs:label "Clinical Encounter"@en ;
1387
+ rdfs:comment "A clinical encounter — any interaction between a patient and a healthcare provider. Enables grouping of clinical events (procedures, observations, prescriptions) that occurred in the same visit context."@en ;
1388
+ rdfs:subClassOf prov:Entity .
1389
+
1390
+ clinical:encounterClass a owl:DatatypeProperty ;
1391
+ rdfs:domain clinical:Encounter ;
1392
+ rdfs:range xsd:string ;
1393
+ rdfs:label "Encounter Class"@en ;
1394
+ rdfs:comment "Values: ambulatory, emergency, inpatient, home-health"@en .
1395
+
1396
+ clinical:encounterStatus a owl:DatatypeProperty ;
1397
+ rdfs:domain clinical:Encounter ;
1398
+ rdfs:range xsd:string ;
1399
+ rdfs:label "Encounter Status"@en ;
1400
+ rdfs:comment "Values: finished, in-progress, cancelled"@en .
1401
+
1402
+ clinical:encounterType a owl:DatatypeProperty ;
1403
+ rdfs:domain clinical:Encounter ;
1404
+ rdfs:range xsd:string ;
1405
+ rdfs:label "Encounter Type"@en ;
1406
+ rdfs:comment "Display name from SNOMED/FHIR code"@en .
1407
+
1408
+ clinical:encounterStart a owl:DatatypeProperty ;
1409
+ rdfs:domain clinical:Encounter ;
1410
+ rdfs:range xsd:dateTime ;
1411
+ rdfs:label "Encounter Start"@en .
1412
+
1413
+ clinical:encounterEnd a owl:DatatypeProperty ;
1414
+ rdfs:domain clinical:Encounter ;
1415
+ rdfs:range xsd:dateTime ;
1416
+ rdfs:label "Encounter End"@en .
1417
+
1418
+ clinical:facilityName a owl:DatatypeProperty ;
1419
+ rdfs:domain clinical:Encounter ;
1420
+ rdfs:range xsd:string ;
1421
+ rdfs:label "Facility Name"@en .
1422
+
1423
+ # ============================================================================
1424
+ # New Class: clinical:MedicationAdministration
1425
+ # Added in v1.7 — supports FHIR MedicationAdministration conversion
1426
+ # ============================================================================
1427
+
1428
+ clinical:MedicationAdministration a owl:Class ;
1429
+ rdfs:label "Medication Administration"@en ;
1430
+ rdfs:comment "A single administration event of a medication given at a specific time by a provider (e.g., IV antibiotics administered pre-surgery, vaccine injection at visit). Semantically distinct from clinical:Medication (ongoing prescription regimens): represents a one-time event, not an ongoing regimen."@en ;
1431
+ rdfs:subClassOf prov:Entity .
1432
+
1433
+ clinical:administeredDate a owl:DatatypeProperty ;
1434
+ rdfs:domain clinical:MedicationAdministration ;
1435
+ rdfs:range xsd:dateTime ;
1436
+ rdfs:label "Administered Date"@en .
1437
+
1438
+ clinical:administeredDose a owl:DatatypeProperty ;
1439
+ rdfs:domain clinical:MedicationAdministration ;
1440
+ rdfs:range xsd:string ;
1441
+ rdfs:label "Administered Dose"@en ;
1442
+ rdfs:comment "e.g., '1g', '500mg'"@en .
1443
+
1444
+ clinical:administeredRoute a owl:DatatypeProperty ;
1445
+ rdfs:domain clinical:MedicationAdministration ;
1446
+ rdfs:range xsd:string ;
1447
+ rdfs:label "Administered Route"@en ;
1448
+ rdfs:comment "Values: oral, IV, IM, subcutaneous, topical"@en .
1449
+
1450
+ clinical:administrationStatus a owl:DatatypeProperty ;
1451
+ rdfs:domain clinical:MedicationAdministration ;
1452
+ rdfs:range xsd:string ;
1453
+ rdfs:label "Administration Status"@en ;
1454
+ rdfs:comment "Values: completed, not-done, in-progress"@en .
1455
+
1456
+ # ============================================================================
1457
+ # New Class: clinical:ImplantedDevice
1458
+ # Added in v1.7 — supports FHIR Device conversion
1459
+ # ============================================================================
1460
+
1461
+ clinical:ImplantedDevice a owl:Class ;
1462
+ rdfs:label "Implanted Device"@en ;
1463
+ rdfs:comment "A medical device implanted in or attached to the patient as a permanent part of their health profile (e.g., pacemaker, cardiac stent, cochlear implant, insulin pump). Presence affects medication safety, imaging eligibility (MRI contraindications), and surgical risk."@en ;
1464
+ rdfs:subClassOf prov:Entity .
1465
+
1466
+ clinical:deviceType a owl:DatatypeProperty ;
1467
+ rdfs:domain clinical:ImplantedDevice ;
1468
+ rdfs:range xsd:string ;
1469
+ rdfs:label "Device Type"@en ;
1470
+ rdfs:comment "e.g., pacemaker, stent, cochlear-implant"@en .
1471
+
1472
+ clinical:implantDate a owl:DatatypeProperty ;
1473
+ rdfs:domain clinical:ImplantedDevice ;
1474
+ rdfs:range xsd:dateTime ;
1475
+ rdfs:label "Implant Date"@en .
1476
+
1477
+ clinical:deviceManufacturer a owl:DatatypeProperty ;
1478
+ rdfs:domain clinical:ImplantedDevice ;
1479
+ rdfs:range xsd:string ;
1480
+ rdfs:label "Device Manufacturer"@en .
1481
+
1482
+ clinical:udiCarrier a owl:DatatypeProperty ;
1483
+ rdfs:domain clinical:ImplantedDevice ;
1484
+ rdfs:range xsd:string ;
1485
+ rdfs:label "UDI Carrier"@en ;
1486
+ rdfs:comment "Unique Device Identifier"@en .
1487
+
1488
+ clinical:deviceStatus a owl:DatatypeProperty ;
1489
+ rdfs:domain clinical:ImplantedDevice ;
1490
+ rdfs:range xsd:string ;
1491
+ rdfs:label "Device Status"@en ;
1492
+ rdfs:comment "Values: active, inactive, entered-in-error"@en .
1493
+
1494
+ # ============================================================================
1495
+ # New Class: clinical:ImagingStudy
1496
+ # Added in v1.7 — supports FHIR ImagingStudy conversion
1497
+ # ============================================================================
1498
+
1499
+ clinical:ImagingStudy a owl:Class ;
1500
+ rdfs:label "Imaging Study"@en ;
1501
+ rdfs:comment "Metadata record for a diagnostic imaging study (CT, MRI, X-ray, ultrasound). Records that imaging exists and its key characteristics without requiring access to DICOM images. Useful for clinical timeline, pre-procedure review, and agent reasoning about the patient's imaging history."@en ;
1502
+ rdfs:subClassOf prov:Entity .
1503
+
1504
+ clinical:imagingModality a owl:DatatypeProperty ;
1505
+ rdfs:domain clinical:ImagingStudy ;
1506
+ rdfs:range xsd:string ;
1507
+ rdfs:label "Imaging Modality"@en ;
1508
+ rdfs:comment "Values: CT, MR, DX, US, NM"@en .
1509
+
1510
+ clinical:studyDescription a owl:DatatypeProperty ;
1511
+ rdfs:domain clinical:ImagingStudy ;
1512
+ rdfs:range xsd:string ;
1513
+ rdfs:label "Study Description"@en .
1514
+
1515
+ clinical:numberOfSeries a owl:DatatypeProperty ;
1516
+ rdfs:domain clinical:ImagingStudy ;
1517
+ rdfs:range xsd:integer ;
1518
+ rdfs:label "Number of Series"@en .
1519
+
1520
+ clinical:studyDate a owl:DatatypeProperty ;
1521
+ rdfs:domain clinical:ImagingStudy ;
1522
+ rdfs:range xsd:dateTime ;
1523
+ rdfs:label "Study Date"@en .
1524
+
1525
+ clinical:dicomStudyUid a owl:DatatypeProperty ;
1526
+ rdfs:domain clinical:ImagingStudy ;
1527
+ rdfs:range xsd:string ;
1528
+ rdfs:label "DICOM Study UID"@en .
1529
+
1530
+ clinical:retrieveUrl a owl:DatatypeProperty ;
1531
+ rdfs:domain clinical:ImagingStudy ;
1532
+ rdfs:range xsd:anyURI ;
1533
+ rdfs:label "Retrieve URL"@en ;
1534
+ rdfs:comment "URL to DICOM server if available"@en .
1535
+
1536
+ # ============================================================================
1537
+ # New Properties on existing class: clinical:LaboratoryReport
1538
+ # Added in v1.7 — supports DiagnosticReport panel grouping
1539
+ # ============================================================================
1540
+
1541
+ clinical:hasLabResult a owl:ObjectProperty ;
1542
+ rdfs:label "Has Lab Result"@en ;
1543
+ rdfs:comment "Links a LaboratoryReport panel to its constituent clinical:LabResult observations. Enables grouping of lab values (e.g., CBC components) under the ordering panel. FHIR alignment: fhir:DiagnosticReport.result."@en ;
1544
+ rdfs:domain clinical:LaboratoryReport ;
1545
+ rdfs:range clinical:LabResult .
1546
+
1547
+ clinical:panelName a owl:DatatypeProperty ;
1548
+ rdfs:domain clinical:LaboratoryReport ;
1549
+ rdfs:range xsd:string ;
1550
+ rdfs:label "Panel Name"@en ;
1551
+ rdfs:comment "e.g., 'Complete Blood Count'"@en .
1552
+
1553
+ clinical:reportCategory a owl:DatatypeProperty ;
1554
+ rdfs:domain clinical:LaboratoryReport ;
1555
+ rdfs:range xsd:string ;
1556
+ rdfs:label "Report Category"@en ;
1557
+ rdfs:comment "Values: LAB, RAD, PATH"@en .
@@ -17,8 +17,8 @@
17
17
  dct:description "Core vocabulary for schema versioning, data provenance, identity management, and patient demographics across all Cascade Protocol applications"@en ;
18
18
  dct:creator "Cascade Agentic Labs" ;
19
19
  dct:created "2025-10-31"^^xsd:date ;
20
- dct:modified "2026-02-22"^^xsd:date ;
21
- owl:versionInfo "2.3" ;
20
+ dct:modified "2026-03-12"^^xsd:date ;
21
+ owl:versionInfo "2.8" ;
22
22
  rdfs:comment "This vocabulary defines cross-cutting concepts used by all Cascade Protocol health data applications: schema versioning, data provenance, patient demographics (PatientProfile), and supporting identity classes (Address, PharmacyInfo, AdvanceDirectives). Domain-specific vocabularies (e.g., pots:, ecg:, glucose:) import this core vocabulary."@en ;
23
23
  rdfs:seeAlso <https://cascadeprotocol.org/docs/core/v1.0/> .
24
24
 
@@ -153,10 +153,20 @@ cascade:sourceMetricCoverage a owl:ObjectProperty ;
153
153
  rdfs:comment "A wellness metric this source provides. Use multiple triples for multiple metrics (e.g., two triples linking to health:restingHeartRate and health:heartRateVariability). Preferred over comma-separated strings for proper RDF graph traversal."@en ;
154
154
  rdfs:domain cascade:DataSource .
155
155
 
156
- # ============================================================================
157
156
  # ============================================================================
158
157
  # Provenance Detail Properties (v2.3)
159
158
  # ============================================================================
159
+ # Lightweight provenance detail properties for record-level attribution.
160
+ # These properties are placed on record instances directly (not on DataSource
161
+ # objects) for display in Health Map provenance badges without requiring
162
+ # full DataSource graph traversal.
163
+ #
164
+ # cascade:sourceOrganization — populated from FHIR meta.source or contained
165
+ # Organization reference during clinical record import. Examples: "Kaiser
166
+ # Permanente", "Mayo Clinic".
167
+ #
168
+ # cascade:sourceDeviceName — populated from HealthKit HKSource contributing
169
+ # app/device name. Examples: "Apple Watch Series 9", "Omron BP Monitor".
160
170
 
161
171
  cascade:sourceOrganization a owl:DatatypeProperty ;
162
172
  rdfs:label "Source Organization"@en ;
@@ -168,6 +178,7 @@ cascade:sourceDeviceName a owl:DatatypeProperty ;
168
178
  rdfs:comment "Device or app that recorded this measurement (e.g., 'Apple Watch Series 9', 'Omron BP Monitor'). Populated from HealthKit HKSource contributing app/device name."@en ;
169
179
  rdfs:range xsd:string .
170
180
 
181
+ # ============================================================================
171
182
  # Vocabulary Organization (v1.3)
172
183
  # ============================================================================
173
184
 
@@ -531,6 +542,117 @@ cascade:advanceDirectiveNotes a owl:DatatypeProperty ;
531
542
  rdfs:domain cascade:AdvanceDirectives ;
532
543
  rdfs:range xsd:string .
533
544
 
545
+ # ============================================================================
546
+ # Reconciliation Properties (v2.4)
547
+ # ============================================================================
548
+ # Used by the Cascade reconciliation pipeline to annotate merged records with
549
+ # provenance and conflict resolution metadata.
550
+
551
+ cascade:sourceSystem a owl:DatatypeProperty ;
552
+ rdfs:label "Source System"@en ;
553
+ rdfs:comment "The name of the EHR or health system that originally held this record (e.g. 'primary-care', 'hospital'). Added during cross-system conversion to enable reconciliation."@en ;
554
+ rdfs:domain owl:Thing ;
555
+ rdfs:range xsd:string .
556
+
557
+ cascade:reconciliationStatus a owl:ObjectProperty ;
558
+ rdfs:label "Reconciliation Status"@en ;
559
+ rdfs:comment "The outcome of reconciliation for this record. Value is one of the cascade:ReconciliationStatus named individuals: cascade:Canonical, cascade:Merged, cascade:ConflictResolved, cascade:UnresolvedConflict."@en ;
560
+ rdfs:domain owl:Thing ;
561
+ rdfs:range cascade:ReconciliationStatus .
562
+
563
+ cascade:ReconciliationStatus a owl:Class ;
564
+ rdfs:label "Reconciliation Status"@en ;
565
+ rdfs:comment "Closed enumeration of possible reconciliation outcomes."@en .
566
+
567
+ cascade:Canonical a owl:NamedIndividual, cascade:ReconciliationStatus ;
568
+ rdfs:label "Canonical"@en ;
569
+ rdfs:comment "Record is unique — no matching record found across other source systems."@en .
570
+
571
+ cascade:Merged a owl:NamedIndividual, cascade:ReconciliationStatus ;
572
+ rdfs:label "Merged"@en ;
573
+ rdfs:comment "Record was deduplicated from two or more identical or near-identical source records."@en .
574
+
575
+ cascade:ConflictResolved a owl:NamedIndividual, cascade:ReconciliationStatus ;
576
+ rdfs:label "Conflict Resolved"@en ;
577
+ rdfs:comment "Conflicting values across source records were resolved automatically using a trust-priority or merge strategy."@en .
578
+
579
+ cascade:UnresolvedConflict a owl:NamedIndividual, cascade:ReconciliationStatus ;
580
+ rdfs:label "Unresolved Conflict"@en ;
581
+ rdfs:comment "Conflicting values could not be automatically resolved (trust scores too similar). Requires manual clinical review."@en .
582
+
583
+ cascade:WithinSourceDuplicate a owl:NamedIndividual, cascade:ReconciliationStatus ;
584
+ rdfs:label "Within-Source Duplicate"@en ;
585
+ rdfs:comment "Record is a duplicate of another record within the same source system (e.g. same condition recorded across multiple clinical encounters). Suppressed from cross-system reconciliation output during Pass 1 deduplication."@en .
586
+
587
+ cascade:mergedFrom a owl:ObjectProperty ;
588
+ rdfs:label "Merged From"@en ;
589
+ rdfs:comment "Links a reconciled record to the source record URIs that were merged into it. Used together with prov:wasDerivedFrom for semantic interoperability."@en ;
590
+ rdfs:domain owl:Thing ;
591
+ rdfs:range owl:Thing ;
592
+ rdfs:subPropertyOf prov:wasDerivedFrom .
593
+
594
+ cascade:conflictResolution a owl:ObjectProperty ;
595
+ rdfs:label "Conflict Resolution Strategy"@en ;
596
+ rdfs:comment "The strategy used to resolve a conflict. Value is one of the cascade:ConflictResolutionStrategy named individuals: cascade:TrustPriority, cascade:MergeValues, cascade:FlagUnresolved."@en ;
597
+ rdfs:domain owl:Thing ;
598
+ rdfs:range cascade:ConflictResolutionStrategy .
599
+
600
+ cascade:ConflictResolutionStrategy a owl:Class ;
601
+ rdfs:label "Conflict Resolution Strategy"@en ;
602
+ rdfs:comment "Closed enumeration of reconciliation resolution strategies."@en .
603
+
604
+ cascade:TrustPriority a owl:NamedIndividual, cascade:ConflictResolutionStrategy ;
605
+ rdfs:label "Trust Priority"@en ;
606
+ rdfs:comment "The record from the highest-trust source system is selected as canonical."@en .
607
+
608
+ cascade:MergeValues a owl:NamedIndividual, cascade:ConflictResolutionStrategy ;
609
+ rdfs:label "Merge Values"@en ;
610
+ rdfs:comment "The canonical record is built by taking the winner's fields and filling any gaps from lower-trust sources."@en .
611
+
612
+ cascade:FlagUnresolved a owl:NamedIndividual, cascade:ConflictResolutionStrategy ;
613
+ rdfs:label "Flag Unresolved"@en ;
614
+ rdfs:comment "The conflict could not be automatically resolved. Record is tagged cascade:UnresolvedConflict for manual clinical review."@en .
615
+
616
+ cascade:conflictField a owl:ObjectProperty ;
617
+ rdfs:label "Conflict Field"@en ;
618
+ rdfs:comment "The predicate URI on which a conflict was detected during reconciliation (e.g. health:status, health:resultValue). Stored as a URI reference, not a prefixed name string."@en ;
619
+ rdfs:domain owl:Thing ;
620
+ rdfs:range rdfs:Resource .
621
+
622
+ cascade:conflictDescription a owl:DatatypeProperty ;
623
+ rdfs:label "Conflict Description"@en ;
624
+ rdfs:comment "Removed v2.7. Was informational prose describing conflicting values per source system. Replaced by cascade:conflictDetail structured blank node (v2.5), which uses rdfs:comment on the blank node for human readability."@en ;
625
+ owl:deprecated true ;
626
+ rdfs:domain owl:Thing ;
627
+ rdfs:range xsd:string .
628
+
629
+ cascade:conflictDetail a owl:ObjectProperty ;
630
+ rdfs:label "Conflict Detail"@en ;
631
+ rdfs:comment "Links a reconciled record to a structured cascade:ConflictDetail blank node describing the per-system values that conflicted. The blank node carries an rdfs:comment with a human-readable summary."@en ;
632
+ rdfs:domain owl:Thing ;
633
+ rdfs:range cascade:ConflictDetail .
634
+
635
+ cascade:ConflictDetail a owl:Class ;
636
+ rdfs:label "Conflict Detail"@en ;
637
+ rdfs:comment "A structured representation of conflicting values across source systems for a single property. Used as a blank node linked from cascade:conflictDetail."@en .
638
+
639
+ cascade:conflictFor a owl:ObjectProperty ;
640
+ rdfs:label "Conflict For"@en ;
641
+ rdfs:comment "The predicate URI on which the conflict was detected (e.g. <https://ns.cascadeprotocol.org/health/v1#status>). Links a cascade:ConflictDetail to the conflicting property."@en ;
642
+ rdfs:domain cascade:ConflictDetail ;
643
+ rdfs:range rdfs:Resource .
644
+
645
+ cascade:systemValue a owl:ObjectProperty ;
646
+ rdfs:label "System Value"@en ;
647
+ rdfs:comment "Links a cascade:ConflictDetail to a blank node representing one source system's value for the conflicting property. Each participating source system has its own cascade:systemValue blank node."@en ;
648
+ rdfs:domain cascade:ConflictDetail .
649
+
650
+ cascade:forSystem a owl:DatatypeProperty ;
651
+ rdfs:label "For System"@en ;
652
+ rdfs:comment "The name of the source EHR system (e.g. 'primary-care', 'specialist') within a cascade:systemValue blank node."@en ;
653
+ rdfs:domain cascade:ConflictDetail ;
654
+ rdfs:range xsd:string .
655
+
534
656
  # ============================================================================
535
657
  # Alignment with W3C PROV-O
536
658
  # ============================================================================
@@ -554,6 +676,42 @@ cascade:advanceDirectiveNotes a owl:DatatypeProperty ;
554
676
  # ============================================================================
555
677
  # Changelog
556
678
  # ============================================================================
679
+ # v2.7 (2026-03-12): Removed cascade:conflictDescription (deprecated since v2.5).
680
+ # cascade:conflictDetail blank nodes now carry an rdfs:comment with a human-readable
681
+ # summary of the conflicting values, replacing the separate prose property.
682
+ # v2.6 (2026-03-11): Within-source deduplication vocabulary. Added
683
+ # cascade:WithinSourceDuplicate named individual for cascade:ReconciliationStatus.
684
+ # Represents encounter-instance duplicate records suppressed during Pass 1
685
+ # within-source deduplication. Phase 6 of reconciliation pipeline.
686
+ # v2.5 (2026-03-11): Structured conflict representation. Added cascade:ConflictDetail
687
+ # class and 4 supporting properties: cascade:conflictDetail (ObjectProperty,
688
+ # links record to ConflictDetail blank node), cascade:conflictFor (ObjectProperty,
689
+ # the conflicting predicate URI), cascade:systemValue (ObjectProperty, per-system
690
+ # value blank node), cascade:forSystem (DatatypeProperty, system name string).
691
+ # Deprecated cascade:conflictDescription (informational prose, replaced by
692
+ # cascade:conflictDetail structured blank node). Phase 5 of reconciliation pipeline.
693
+ # v2.4 (2026-03-11): Added reconciliation vocabulary for multi-system EHR data
694
+ # merging. Properties: cascade:sourceSystem (EHR origin tag, xsd:string),
695
+ # cascade:reconciliationStatus (ObjectProperty, range cascade:ReconciliationStatus),
696
+ # cascade:mergedFrom (ObjectProperty, subPropertyOf prov:wasDerivedFrom),
697
+ # cascade:conflictResolution (ObjectProperty, range cascade:ConflictResolutionStrategy),
698
+ # cascade:conflictField (ObjectProperty, range rdfs:Resource, stores full predicate URI),
699
+ # cascade:conflictDescription (DatatypeProperty, informational prose).
700
+ # Declared named individuals: cascade:Canonical, cascade:Merged,
701
+ # cascade:ConflictResolved, cascade:UnresolvedConflict (ReconciliationStatus);
702
+ # cascade:TrustPriority, cascade:MergeValues, cascade:FlagUnresolved
703
+ # (ConflictResolutionStrategy). Note: cascade:mergedSources (dropped —
704
+ # redundant with mergedFrom+sourceSystem) and cascade:conflictValues
705
+ # (renamed to cascade:conflictDescription) were in the initial design but
706
+ # corrected before the TTL was finalized. Supports CLI v0.2.5 reconcile command.
707
+ # v2.3 (2026-02-22): Added 2 provenance detail properties for record-level
708
+ # attribution: cascade:sourceOrganization (organization that provided a
709
+ # record, populated from FHIR meta.source or contained Organization
710
+ # reference during clinical import) and cascade:sourceDeviceName (device
711
+ # or app that recorded a measurement, populated from HealthKit HKSource
712
+ # contributing app/device name). Used across all 11 CheckupShared record
713
+ # models for Health Map provenance display. Part of Health Map v3
714
+ # Pre-Phase Track A (Task A4).
557
715
  # v2.2 (2026-02-18): FHIR-aligned Address expansion and PatientProfile
558
716
  # completeness (Phase 3.5 ONT1 + ONT2).
559
717
  # ONT1: Added 9 FHIR Address.* aligned properties (addressUse, addressType,
@@ -601,3 +759,40 @@ cascade:advanceDirectiveNotes a owl:DatatypeProperty ;
601
759
  # AIExtracted (under ClinicalGenerated). Aligns with SDK DataProvenance
602
760
  # enum (6 cases). Backward-compatible: existing data using
603
761
  # cascade:ConsumerGenerated/ClinicalGenerated remains valid.
762
+
763
+ # ============================================================================
764
+ # Layer Promotion Status (FHIR Conversion)
765
+ # Added in v2.8 — supports lossless FHIR ↔ Cascade round-trip conversion
766
+ # ============================================================================
767
+
768
+ cascade:LayerPromotionStatusValue a owl:Class ;
769
+ rdfs:label "Layer Promotion Status Value"@en ;
770
+ rdfs:comment "Closed enumeration of Layer 2 promotion states for converted FHIR records."@en .
771
+
772
+ cascade:layerPromotionStatus a owl:ObjectProperty ;
773
+ rdfs:label "Layer Promotion Status"@en ;
774
+ rdfs:comment "Indicates whether a record has been fully mapped to Cascade Layer 2 vocabulary or is preserved as a Layer 1 FHIR passthrough pending future mapping."@en ;
775
+ rdfs:range cascade:LayerPromotionStatusValue .
776
+
777
+ cascade:FullyMapped a owl:NamedIndividual, cascade:LayerPromotionStatusValue ;
778
+ rdfs:label "Fully Mapped"@en ;
779
+ rdfs:comment "Record has been fully mapped to Cascade Layer 2 vocabulary."@en .
780
+
781
+ cascade:PendingLayerTwoPromotion a owl:NamedIndividual, cascade:LayerPromotionStatusValue ;
782
+ rdfs:label "Pending Layer 2 Promotion"@en ;
783
+ rdfs:comment "Record is preserved as Layer 1 FHIR passthrough. Full Layer 2 vocabulary mapping has not yet been defined. Original FHIR JSON is retained in cascade:fhirJson for round-trip export."@en .
784
+
785
+ cascade:fhirJson a owl:DatatypeProperty ;
786
+ rdfs:label "Original FHIR JSON"@en ;
787
+ rdfs:comment "Preserves the complete original FHIR resource JSON for Layer 1 passthrough records. Always stored as plain xsd:string (FHIR JSON is always valid UTF-8). Used for lossless round-trip export. Self-contained — survives reconciliation without sidecar file dependencies."@en ;
788
+ rdfs:range xsd:string .
789
+
790
+ cascade:fhirResourceType a owl:DatatypeProperty ;
791
+ rdfs:label "FHIR Resource Type"@en ;
792
+ rdfs:comment "FHIR R4 resourceType of the source record. Populated on Layer 1 passthrough records."@en ;
793
+ rdfs:range xsd:string .
794
+
795
+ cascade:sourceRecordDate a owl:DatatypeProperty ;
796
+ rdfs:label "Source Record Date"@en ;
797
+ rdfs:comment "Minimal date projection triple for Layer 1 passthrough records. Copied from effectiveDateTime, date, period.start, or created field if present."@en ;
798
+ rdfs:range xsd:dateTime .
@@ -18,8 +18,8 @@
18
18
  dct:description "Domain vocabulary for patient-owned insurance, benefits, and financial health data. Layer 2 vocabulary resolving the overlap between checkup:InsuranceInfo (patient-reported) and clinical:CoverageRecord (EHR-imported) with a unified, standardized representation."@en ;
19
19
  dct:creator "Cascade Agentic Labs" ;
20
20
  dct:created "2026-02-18"^^xsd:date ;
21
- dct:modified "2026-02-18"^^xsd:date ;
22
- owl:versionInfo "1.0" ;
21
+ dct:modified "2026-03-17"^^xsd:date ;
22
+ owl:versionInfo "1.3" ;
23
23
  rdfs:comment "Insurance and benefits data is cross-cutting: not clinical (it's administrative/financial), not app-specific (any health app benefits from knowing coverage), and contributed by both patient self-report and EHR import. This vocabulary provides a single Layer 2 domain model that both checkup: (Layer 3, patient-reported) and clinical: (Layer 2, EHR-imported) can reference via the mixed namespace pattern. Recommended Pod storage path: /coverage/"@en ;
24
24
  rdfs:seeAlso <https://cascadeprotocol.org/docs/coverage/v1/> .
25
25
 
@@ -166,6 +166,13 @@ coverage:rxGroup a owl:DatatypeProperty ;
166
166
  # Changelog
167
167
  # ============================================================================
168
168
  #
169
+ # v1.3 (2026-03-17): Added coverage:deniedClinicalContext (ObjectProperty linking DenialNotice to clinical evidence in the Pod),
170
+ # coverage:outcomeReason (free-text explanation of appeal outcome), coverage:reversalAmount (reimbursement if approved),
171
+ # coverage:DenialReasonCode named individuals (standard-mapped enum values for denialReasonCode),
172
+ # rdfs:seeAlso mappings to HL7 ClaimResponse.adjudication and CARIN IG adjudication codes.
173
+ #
174
+ # v1.2 (2026-03-16): Added coverage:DenialNotice class, coverage:AppealRecord class, and 11 new properties for denial/appeal workflow.
175
+ #
169
176
  # Version 1.0 (2026-02-18)
170
177
  # - Initial release as part of Schema Refactoring Plan Phase 2 (WS4)
171
178
  # - Created to resolve overlap between checkup:InsuranceInfo (L3, patient-reported)
@@ -180,3 +187,319 @@ coverage:rxGroup a owl:DatatypeProperty ;
180
187
  # - Layer 2 domain vocabulary per three-layer architecture
181
188
  # - Recommended Pod storage: /coverage/plans/{plan-id}.ttl
182
189
  #
190
+
191
+ # ============================================================================
192
+ # New Classes: ClaimRecord and BenefitStatement
193
+ # Added in v1.1 — supports FHIR Claim and ExplanationOfBenefit conversion
194
+ # ============================================================================
195
+
196
+ coverage:ClaimRecord a owl:Class ;
197
+ rdfs:label "Claim Record"@en ;
198
+ rdfs:comment "A medical claim submitted to an insurer for reimbursement. FHIR alignment: fhir:Claim"@en .
199
+
200
+ coverage:BenefitStatement a owl:Class ;
201
+ rdfs:label "Benefit Statement (EOB)"@en ;
202
+ rdfs:comment "An Explanation of Benefits document — the insurer's formal response to a claim, including adjudication, denial reasons, and patient cost responsibility. FHIR alignment: fhir:ExplanationOfBenefit. CMS mandates patient access via CARIN Alliance FHIR IG."@en .
203
+
204
+ coverage:DenialNotice a owl:Class ;
205
+ rdfs:label "Denial Notice"@en ;
206
+ rdfs:comment "A formal denial of coverage issued by an insurer. Distinct from BenefitStatement — a DenialNotice initiates an appeal process, not a payment record. Recommended Pod storage: /coverage/denials/{id}.ttl"@en ;
207
+ rdfs:subClassOf prov:Entity ;
208
+ rdfs:seeAlso fhir:ExplanationOfBenefit .
209
+
210
+ coverage:AppealRecord a owl:Class ;
211
+ rdfs:label "Appeal Record"@en ;
212
+ rdfs:comment "A formal appeal filing contesting a denial notice. One record per appeal level. Recommended Pod storage: /coverage/appeals/{id}.ttl"@en ;
213
+ rdfs:subClassOf prov:Activity ;
214
+ rdfs:seeAlso fhir:Task .
215
+
216
+ # ============================================================================
217
+ # New Properties: coverage:Deductible
218
+ # ============================================================================
219
+
220
+ coverage:deductibleAmount a owl:DatatypeProperty ;
221
+ rdfs:domain coverage:Deductible ;
222
+ rdfs:range xsd:decimal ;
223
+ rdfs:label "Deductible Amount"@en .
224
+
225
+ coverage:deductibleCurrency a owl:DatatypeProperty ;
226
+ rdfs:domain coverage:Deductible ;
227
+ rdfs:range xsd:string ;
228
+ rdfs:label "Deductible Currency"@en .
229
+
230
+ coverage:deductibleMetAmount a owl:DatatypeProperty ;
231
+ rdfs:domain coverage:Deductible ;
232
+ rdfs:range xsd:decimal ;
233
+ rdfs:label "Deductible Met Amount"@en .
234
+
235
+ coverage:deductiblePeriod a owl:DatatypeProperty ;
236
+ rdfs:domain coverage:Deductible ;
237
+ rdfs:range xsd:string ;
238
+ rdfs:label "Deductible Period"@en .
239
+
240
+ coverage:deductibleType a owl:DatatypeProperty ;
241
+ rdfs:domain coverage:Deductible ;
242
+ rdfs:range xsd:string ;
243
+ rdfs:label "Deductible Type"@en ;
244
+ rdfs:comment "Values: individual, family, in-network, out-of-network"@en .
245
+
246
+ # ============================================================================
247
+ # New Properties: coverage:CopaySchedule
248
+ # ============================================================================
249
+
250
+ coverage:copayAmount a owl:DatatypeProperty ;
251
+ rdfs:domain coverage:CopaySchedule ;
252
+ rdfs:range xsd:decimal ;
253
+ rdfs:label "Copay Amount"@en .
254
+
255
+ coverage:copayCurrency a owl:DatatypeProperty ;
256
+ rdfs:domain coverage:CopaySchedule ;
257
+ rdfs:range xsd:string ;
258
+ rdfs:label "Copay Currency"@en .
259
+
260
+ coverage:copayType a owl:DatatypeProperty ;
261
+ rdfs:domain coverage:CopaySchedule ;
262
+ rdfs:range xsd:string ;
263
+ rdfs:label "Copay Type"@en ;
264
+ rdfs:comment "Values: primary-care, specialist, emergency, prescription"@en .
265
+
266
+ # ============================================================================
267
+ # New Properties: coverage:ClaimRecord
268
+ # ============================================================================
269
+
270
+ coverage:claimDate a owl:DatatypeProperty ;
271
+ rdfs:domain coverage:ClaimRecord ;
272
+ rdfs:range xsd:dateTime ;
273
+ rdfs:label "Claim Date"@en .
274
+
275
+ coverage:claimTotal a owl:DatatypeProperty ;
276
+ rdfs:domain coverage:ClaimRecord ;
277
+ rdfs:range xsd:decimal ;
278
+ rdfs:label "Claim Total"@en .
279
+
280
+ coverage:claimStatus a owl:DatatypeProperty ;
281
+ rdfs:domain coverage:ClaimRecord ;
282
+ rdfs:range xsd:string ;
283
+ rdfs:label "Claim Status"@en ;
284
+ rdfs:comment "Values: active, cancelled, draft, entered-in-error"@en .
285
+
286
+ coverage:claimType a owl:DatatypeProperty ;
287
+ rdfs:domain coverage:ClaimRecord ;
288
+ rdfs:range xsd:string ;
289
+ rdfs:label "Claim Type"@en ;
290
+ rdfs:comment "Values: professional, institutional, oral, pharmacy, vision"@en .
291
+
292
+ coverage:billingProvider a owl:DatatypeProperty ;
293
+ rdfs:domain coverage:ClaimRecord ;
294
+ rdfs:range xsd:string ;
295
+ rdfs:label "Billing Provider"@en .
296
+
297
+ coverage:hasDiagnosis a owl:DatatypeProperty ;
298
+ rdfs:domain coverage:ClaimRecord ;
299
+ rdfs:range xsd:string ;
300
+ rdfs:label "Has Diagnosis"@en ;
301
+ rdfs:comment "ICD-10 code URI"@en .
302
+
303
+ coverage:hasProcedure a owl:DatatypeProperty ;
304
+ rdfs:domain coverage:ClaimRecord ;
305
+ rdfs:range xsd:string ;
306
+ rdfs:label "Has Procedure"@en ;
307
+ rdfs:comment "CPT/SNOMED code URI"@en .
308
+
309
+ coverage:sourceRecordId a owl:DatatypeProperty ;
310
+ rdfs:range xsd:string ;
311
+ rdfs:label "Source Record ID"@en ;
312
+ rdfs:comment "Original source system record identifier. No domain restriction — shared by ClaimRecord and BenefitStatement."@en .
313
+
314
+ # ============================================================================
315
+ # New Properties: coverage:BenefitStatement
316
+ # ============================================================================
317
+
318
+ coverage:adjudicationDate a owl:DatatypeProperty ;
319
+ rdfs:domain coverage:BenefitStatement ;
320
+ rdfs:range xsd:dateTime ;
321
+ rdfs:label "Adjudication Date"@en .
322
+
323
+ coverage:adjudicationStatus a owl:DatatypeProperty ;
324
+ rdfs:domain coverage:BenefitStatement ;
325
+ rdfs:range xsd:string ;
326
+ rdfs:label "Adjudication Status"@en ;
327
+ rdfs:comment "Values: completed, cancelled, entered-in-error"@en .
328
+
329
+ coverage:outcomeCode a owl:DatatypeProperty ;
330
+ rdfs:domain coverage:BenefitStatement ;
331
+ rdfs:range xsd:string ;
332
+ rdfs:label "Outcome Code"@en ;
333
+ rdfs:comment "Values: queued, complete, error, partial"@en .
334
+
335
+ coverage:denialReason a owl:DatatypeProperty ;
336
+ rdfs:domain coverage:BenefitStatement ;
337
+ rdfs:range xsd:string ;
338
+ rdfs:label "Denial Reason"@en .
339
+
340
+ coverage:totalBilled a owl:DatatypeProperty ;
341
+ rdfs:domain coverage:BenefitStatement ;
342
+ rdfs:range xsd:decimal ;
343
+ rdfs:label "Total Billed"@en .
344
+
345
+ coverage:totalAllowed a owl:DatatypeProperty ;
346
+ rdfs:domain coverage:BenefitStatement ;
347
+ rdfs:range xsd:decimal ;
348
+ rdfs:label "Total Allowed"@en .
349
+
350
+ coverage:totalPaid a owl:DatatypeProperty ;
351
+ rdfs:domain coverage:BenefitStatement ;
352
+ rdfs:range xsd:decimal ;
353
+ rdfs:label "Total Paid"@en .
354
+
355
+ coverage:patientResponsibility a owl:DatatypeProperty ;
356
+ rdfs:domain coverage:BenefitStatement ;
357
+ rdfs:range xsd:decimal ;
358
+ rdfs:label "Patient Responsibility"@en .
359
+
360
+ coverage:relatedClaim a owl:ObjectProperty ;
361
+ rdfs:domain coverage:BenefitStatement ;
362
+ rdfs:range coverage:ClaimRecord ;
363
+ rdfs:label "Related Claim"@en ;
364
+ rdfs:comment "Links an ExplanationOfBenefit to its corresponding Claim."@en .
365
+
366
+ # ============================================================================
367
+ # v1.2 DenialNotice Properties
368
+ # ============================================================================
369
+
370
+ coverage:deniedProcedureCode a owl:DatatypeProperty ;
371
+ rdfs:label "Denied Procedure Code"@en ;
372
+ rdfs:comment "CPT or HCPCS code of the denied service (e.g., E0787 for CGM)."@en ;
373
+ rdfs:domain coverage:DenialNotice ;
374
+ rdfs:range xsd:string .
375
+
376
+ coverage:denialReasonCode a owl:DatatypeProperty ;
377
+ rdfs:label "Denial Reason Code"@en ;
378
+ rdfs:comment "Structured coded denial reason. Recommended values are coverage:DenialReasonCode named individuals (coverage:NotMedicallyNecessary, coverage:LCDCriteriaNotMet, coverage:NCDCriteriaNotMet, coverage:ServiceNotCovered, coverage:PriorAuthorizationRequired, coverage:DuplicateClaim, coverage:InformationRequested). Distinct from the free-text coverage:denialReason. Aligns with HL7 ClaimResponse adjudication and CARIN IG Blue Button STU2."@en ;
379
+ rdfs:domain coverage:DenialNotice ;
380
+ rdfs:range xsd:string ;
381
+ rdfs:seeAlso <http://terminology.hl7.org/CodeSystem/adjudication> ,
382
+ <http://hl7.org/fhir/us/carin-bb/STU2/> .
383
+
384
+ coverage:denialLetterDate a owl:DatatypeProperty ;
385
+ rdfs:label "Denial Letter Date"@en ;
386
+ rdfs:comment "Date the denial notice was issued. The appeal deadline clock starts from this date."@en ;
387
+ rdfs:domain coverage:DenialNotice ;
388
+ rdfs:range xsd:date .
389
+
390
+ coverage:appealDeadline a owl:DatatypeProperty ;
391
+ rdfs:label "Appeal Deadline"@en ;
392
+ rdfs:comment "Computed deadline for filing an appeal, based on the denial date, plan type, and applicable jurisdiction rules."@en ;
393
+ rdfs:domain coverage:DenialNotice ;
394
+ rdfs:range xsd:date .
395
+
396
+ coverage:coveragePolicyReference a owl:DatatypeProperty ;
397
+ rdfs:label "Coverage Policy Reference"@en ;
398
+ rdfs:comment "The LCD, NCD, or coverage policy cited as the basis for denial (e.g., LCD L33822)."@en ;
399
+ rdfs:domain coverage:DenialNotice ;
400
+ rdfs:range xsd:string .
401
+
402
+ # ============================================================================
403
+ # v1.2 AppealRecord Properties
404
+ # ============================================================================
405
+
406
+ coverage:appealLevel a owl:DatatypeProperty ;
407
+ rdfs:label "Appeal Level"@en ;
408
+ rdfs:comment "The administrative level of this appeal. Values: redetermination, qio_reconsideration, alj_hearing, mac_review, federal_court, internal_level1, internal_level2, external_review, state_insurance_dept, litigation."@en ;
409
+ rdfs:domain coverage:AppealRecord ;
410
+ rdfs:range xsd:string .
411
+
412
+ coverage:appealFiledDate a owl:DatatypeProperty ;
413
+ rdfs:label "Appeal Filed Date"@en ;
414
+ rdfs:comment "Date the appeal was formally filed."@en ;
415
+ rdfs:domain coverage:AppealRecord ;
416
+ rdfs:range xsd:date .
417
+
418
+ coverage:appealOutcome a owl:DatatypeProperty ;
419
+ rdfs:label "Appeal Outcome"@en ;
420
+ rdfs:comment "Outcome of the appeal. Values: approved, denied, partial, withdrawn, pending."@en ;
421
+ rdfs:domain coverage:AppealRecord ;
422
+ rdfs:range xsd:string .
423
+
424
+ coverage:appealOutcomeDate a owl:DatatypeProperty ;
425
+ rdfs:label "Appeal Outcome Date"@en ;
426
+ rdfs:comment "Date the appeal outcome was received."@en ;
427
+ rdfs:domain coverage:AppealRecord ;
428
+ rdfs:range xsd:date .
429
+
430
+ coverage:relatedDenialNotice a owl:ObjectProperty ;
431
+ rdfs:label "Related Denial Notice"@en ;
432
+ rdfs:comment "Links an AppealRecord to the DenialNotice it contests."@en ;
433
+ rdfs:domain coverage:AppealRecord ;
434
+ rdfs:range coverage:DenialNotice .
435
+
436
+ # ============================================================================
437
+ # v1.3 Properties
438
+ # ============================================================================
439
+
440
+ coverage:deniedClinicalContext a owl:ObjectProperty ;
441
+ rdfs:label "Denied Clinical Context"@en ;
442
+ rdfs:comment "References clinical or health records in the Pod that are relevant to this denial — procedures, lab results, diagnoses, device readings. Enables appeals to cite specific clinical evidence against policy criteria. Range is intentionally open (rdfs:Resource) to allow linking across clinical:, health:, and pots: namespaces."@en ;
443
+ rdfs:domain coverage:DenialNotice ;
444
+ rdfs:range rdfs:Resource .
445
+
446
+ coverage:outcomeReason a owl:DatatypeProperty ;
447
+ rdfs:label "Outcome Reason"@en ;
448
+ rdfs:comment "Free-text explanation of why the appeal was approved, denied, or partially approved. Captures the insurer's stated rationale for the outcome."@en ;
449
+ rdfs:domain coverage:AppealRecord ;
450
+ rdfs:range xsd:string .
451
+
452
+ coverage:reversalAmount a owl:DatatypeProperty ;
453
+ rdfs:label "Reversal Amount"@en ;
454
+ rdfs:comment "Reimbursement amount granted if the appeal was approved or partially approved. Expressed as a decimal in the currency of the related InsurancePlan."@en ;
455
+ rdfs:domain coverage:AppealRecord ;
456
+ rdfs:range xsd:decimal .
457
+
458
+ # ============================================================================
459
+ # v1.3 Named Individuals: DenialReasonCode
460
+ # Standard-mapped enumeration values for coverage:denialReasonCode
461
+ # Source mappings:
462
+ # HL7 ClaimResponse.adjudication: http://terminology.hl7.org/CodeSystem/adjudication
463
+ # CARIN IG for Blue Button: http://hl7.org/fhir/us/carin-bb/STU2/
464
+ # CMS Medicare denial codes: https://www.cms.gov/medicare/coding-billing/place-of-service-codes
465
+ # ============================================================================
466
+
467
+ coverage:NotMedicallyNecessary a coverage:DenialReasonCode ;
468
+ rdfs:label "Not Medically Necessary"@en ;
469
+ rdfs:comment "Service denied as not meeting medical necessity criteria for the diagnosis. HL7 alignment: adjudication code 'noauth'. CMS reason: 50 (not medically necessary)."@en ;
470
+ rdfs:seeAlso <http://terminology.hl7.org/CodeSystem/adjudication> .
471
+
472
+ coverage:LCDCriteriaNotMet a coverage:DenialReasonCode ;
473
+ rdfs:label "LCD Criteria Not Met"@en ;
474
+ rdfs:comment "Service denied because the patient does not meet the criteria in the applicable Local Coverage Determination (LCD). CMS LCD search: https://www.cms.gov/medicare-coverage-database/"@en ;
475
+ rdfs:seeAlso <https://www.cms.gov/medicare-coverage-database/> .
476
+
477
+ coverage:NCDCriteriaNotMet a coverage:DenialReasonCode ;
478
+ rdfs:label "NCD Criteria Not Met"@en ;
479
+ rdfs:comment "Service denied because the patient does not meet the criteria in the applicable National Coverage Determination (NCD)."@en ;
480
+ rdfs:seeAlso <https://www.cms.gov/medicare-coverage-database/> .
481
+
482
+ coverage:ServiceNotCovered a coverage:DenialReasonCode ;
483
+ rdfs:label "Service Not Covered"@en ;
484
+ rdfs:comment "The requested service is explicitly excluded from the patient's plan benefits. HL7 alignment: adjudication code 'benefit'."@en ;
485
+ rdfs:seeAlso <http://terminology.hl7.org/CodeSystem/adjudication> .
486
+
487
+ coverage:PriorAuthorizationRequired a coverage:DenialReasonCode ;
488
+ rdfs:label "Prior Authorization Required"@en ;
489
+ rdfs:comment "The service requires prior authorization which was not obtained before service delivery. HL7 alignment: adjudication code 'noauth'. CARIN IG: X12 835 reason code 4."@en ;
490
+ rdfs:seeAlso <http://hl7.org/fhir/us/carin-bb/STU2/> .
491
+
492
+ coverage:DuplicateClaim a coverage:DenialReasonCode ;
493
+ rdfs:label "Duplicate Claim"@en ;
494
+ rdfs:comment "Claim denied as a duplicate of a previously processed claim. X12 835 reason code 18."@en .
495
+
496
+ coverage:InformationRequested a coverage:DenialReasonCode ;
497
+ rdfs:label "Additional Information Requested"@en ;
498
+ rdfs:comment "Claim suspended or denied pending submission of additional clinical documentation. X12 835 reason code 16."@en .
499
+
500
+ # DenialReasonCode type declaration (supports named individuals above)
501
+ coverage:DenialReasonCode a owl:Class ;
502
+ rdfs:label "Denial Reason Code"@en ;
503
+ rdfs:comment "Enumeration class for structured denial reason codes. Use named individuals (coverage:NotMedicallyNecessary, etc.) as values for coverage:denialReasonCode. Aligns with HL7 ClaimResponse adjudication codes and CARIN IG for Blue Button (STU2)."@en ;
504
+ rdfs:seeAlso <http://terminology.hl7.org/CodeSystem/adjudication> ,
505
+ <http://hl7.org/fhir/us/carin-bb/STU2/> .
@@ -21,8 +21,8 @@
21
21
  dct:description "Vocabulary for consumer-generated wellness observations from wearable devices and HealthKit. Maps Cascade wellness properties to established SNOMED CT and LOINC codes following the three-layer ontology architecture."@en ;
22
22
  dct:creator "Cascade Agentic Labs" ;
23
23
  dct:created "2026-01-29"^^xsd:date ;
24
- dct:modified "2026-02-17"^^xsd:date ;
25
- owl:versionInfo "2.2" ;
24
+ dct:modified "2026-02-28"^^xsd:date ;
25
+ owl:versionInfo "2.3" ;
26
26
  rdfs:comment """Three-layer ontology for wellness data:
27
27
  Layer 1 (Established standards): SNOMED CT concept IDs + LOINC observation codes
28
28
  Layer 2 (Cascade health vocabulary): health: namespace properties linking to Layer 1
@@ -30,6 +30,14 @@
30
30
  rdfs:seeAlso <https://cascadeprotocol.org/docs/health/v1/> .
31
31
 
32
32
  # Changelog:
33
+ # v2.3 (2026-02-28): BUG-006 — Added 6 Pattern A flat-property vocabulary terms
34
+ # for VitalSignReading blank nodes: health:value (generic numeric value),
35
+ # health:date (observation timestamp), health:sdnn (HRV SDNN measurement),
36
+ # health:systolic and health:diastolic (blood pressure components),
37
+ # health:walkingSteadinessLevel (enum ObjectProperty). Also added
38
+ # health:WalkingSteadinessUnknown individual. These replace the Pattern B
39
+ # fhir:Observation nesting in HealthProfileSerializer.
40
+ #
33
41
  # v2.2 (2026-02-17): Added 2 container linking ObjectProperties:
34
42
  # health:hasHRVStatistics, health:hasBPStatistics. These link a wellness
35
43
  # profile or intake form to its statistical summary nodes. Previously dark
@@ -201,7 +209,8 @@ health:walkingSteadiness a owl:DatatypeProperty ;
201
209
  health:snomedCode sct:364832000 ; # Balance finding
202
210
  rdfs:comment "SNOMED mapping note: 364832000 (Balance finding) is the closest available concept. Alternatives considered: 250043000 (Gait finding), 282097004 (Ability to walk). Apple's OK/Low/Very Low classification is proprietary."@en .
203
211
 
204
- # Valid values for walkingSteadiness
212
+ # Valid values for walkingSteadiness (legacy named individuals)
213
+ # health:WalkingSteadinessUnknown also defined in Pattern A section (v2.3)
205
214
  health:WalkingSteadinessOK a health:WalkingSteadinessLevel ;
206
215
  rdfs:label "OK" .
207
216
  health:WalkingSteadinessLow a health:WalkingSteadinessLevel ;
@@ -543,6 +552,56 @@ health:trendPolarity a owl:AnnotationProperty ;
543
552
  rdfs:label "Trend Polarity"@en ;
544
553
  rdfs:comment "Whether an increase in this metric is generally favorable ('higher_is_better'), unfavorable ('lower_is_better'), or context-dependent ('neutral'). Used by presentation layers to determine trend arrow color semantics. This is a general heuristic — individual clinical context may differ."@en .
545
554
 
555
+ # ============================================================================
556
+ # Pattern A Flat Observation Properties (v2.3 — BUG-006)
557
+ # ============================================================================
558
+ # These properties are used in Pattern A flat blank nodes emitted by
559
+ # HealthProfileSerializer. They replace the fhir:Observation nesting
560
+ # (Pattern B) for all wellness vital sign readings.
561
+
562
+ health:value a owl:DatatypeProperty ;
563
+ rdfs:label "Observation Value"@en ;
564
+ rdfs:comment "Generic numeric value for a wellness observation blank node. Used in Pattern A flat serialization where the observation type is identified by the enclosing property (e.g., health:restingHeartRate). The unit is carried by health:unit on the same blank node."@en ;
565
+ rdfs:range xsd:double .
566
+
567
+ health:date a owl:DatatypeProperty ;
568
+ rdfs:label "Observation Date"@en ;
569
+ rdfs:comment "Timestamp of a wellness observation in Pattern A flat serialization. Equivalent in role to fhir:effectiveDateTime but scoped to health: namespace blank nodes."@en ;
570
+ rdfs:range xsd:dateTime .
571
+
572
+ health:sdnn a owl:DatatypeProperty ;
573
+ rdfs:label "SDNN (HRV)"@en ;
574
+ rdfs:comment "Standard deviation of normal-to-normal R-R intervals. The primary HRV scalar emitted in Pattern A HRVReading blank nodes."@en ;
575
+ rdfs:range xsd:double ;
576
+ health:snomedCode sct:80404004 ;
577
+ health:loincCode loinc:80404-7 ;
578
+ health:unit "ms" .
579
+
580
+ health:systolic a owl:DatatypeProperty ;
581
+ rdfs:label "Systolic Blood Pressure (reading)"@en ;
582
+ rdfs:comment "Systolic component value in a Pattern A BloodPressureReading blank node. Distinct from health:systolicBP which is a domain-level property on fhir:Observation."@en ;
583
+ rdfs:range xsd:double ;
584
+ health:snomedCode sct:271649006 ;
585
+ health:loincCode loinc:8480-6 ;
586
+ health:unit "mmHg" .
587
+
588
+ health:diastolic a owl:DatatypeProperty ;
589
+ rdfs:label "Diastolic Blood Pressure (reading)"@en ;
590
+ rdfs:comment "Diastolic component value in a Pattern A BloodPressureReading blank node. Distinct from health:diastolicBP which is a domain-level property on fhir:Observation."@en ;
591
+ rdfs:range xsd:double ;
592
+ health:snomedCode sct:271650006 ;
593
+ health:loincCode loinc:8462-4 ;
594
+ health:unit "mmHg" .
595
+
596
+ health:walkingSteadinessLevel a owl:ObjectProperty ;
597
+ rdfs:label "Walking Steadiness Level"@en ;
598
+ rdfs:comment "Links a Pattern A WalkingSteadiness blank node to its level individual (health:WalkingSteadinessOK, health:WalkingSteadinessLow, health:WalkingSteadinessVeryLow, health:WalkingSteadinessUnknown)."@en ;
599
+ rdfs:range health:WalkingSteadinessLevel .
600
+
601
+ # health:WalkingSteadinessUnknown added v2.3 (previously only OK/Low/VeryLow defined)
602
+ health:WalkingSteadinessUnknown a health:WalkingSteadinessLevel ;
603
+ rdfs:label "Unknown" .
604
+
546
605
  # ============================================================================
547
606
  # VO2 Max Statistics Properties (v1.7)
548
607
  # ============================================================================
@@ -837,6 +896,16 @@ health:hasBPStatistics a owl:ObjectProperty ;
837
896
  rdfs:comment "Links a wellness profile to its blood pressure statistical summary."@en ;
838
897
  rdfs:range health:BPStatistics .
839
898
 
899
+ # Named individuals for walkingSteadinessLevel (Pattern A short-form, v2.3)
900
+ health:OK a health:WalkingSteadinessLevel ;
901
+ rdfs:label "OK" .
902
+ health:Low a health:WalkingSteadinessLevel ;
903
+ rdfs:label "Low" .
904
+ health:VeryLow a health:WalkingSteadinessLevel ;
905
+ rdfs:label "Very Low" .
906
+ health:Unknown a health:WalkingSteadinessLevel ;
907
+ rdfs:label "Unknown" .
908
+
840
909
  # ============================================================================
841
910
  # Standard Code Reference Table (for documentation)
842
911
  # ============================================================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@the-cascade-protocol/cli",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Cascade Protocol CLI - Validate, convert, and manage health data",
5
5
  "bin": {
6
6
  "cascade": "dist/index.js"