Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversion to fsh #1

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
input-cache/
.vscode
output/
input/tests/results/*.txt
temp/
template/
*.jar
.DS_Store
.DS_Store
/fsh-generated
/fsh-generated/resources
package-list.json
package-lock.json
/node_modules
/fsh-generated
50 changes: 26 additions & 24 deletions FHIR-us-cancer-reporting.xml
Original file line number Diff line number Diff line change
@@ -1,76 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ballotUrl="http://hl7.org/fhir/us/cancer-reporting/2021Sep" ciUrl="http://build.fhir.org/ig/HL7/cancer-reporting" defaultVersion="1.0.1" defaultWorkgroup="oo" gitUrl="https://github.com/HL7/cancer-reporting" url="http://hl7.org/fhir/us/cancer-reporting">
<version code="current" url="http://build.fhir.org/ig/HL7/cancer-reporting"/>
<version code="1.0.1" url="http://hl7.org/fhir/us/cancer-reporting/STU101"/>
<version code="1.0.1" url="http://hl7.org/fhir/us/cancer-reporting/STU1.0.1"/>
<version code="1.0.0" url="http://hl7.org/fhir/us/cancer-reporting/STU1"/>
<version code="0.1.0" deprecated="true" url="http://hl7.org/fhir/us/cancer-reporting/2021Sep"/>
<artifactPageExtension value="-definitions"/>
<artifactPageExtension value="-examples"/>
<artifactPageExtension value="-mappings"/>
<artifact deprecated="true" id="Observation/2118.100004300-us" key="Observation-2118.100004300-us" name="Adrenal Gland (example)"/>
<artifact id="Specimen/adrenal-example" key="Specimen-adrenal-example" name="Adrenal Specimen example"/>
<artifact id="Observation/observation-procedure-adrenalectomy" key="Observation-observation-procedure-adrenalectomy" name="Adrenalectomy Procedure Observation example"/>
<artifact deprecated="true" id="Observation/observation-procedure-adrenalectomy" key="Observation-observation-procedure-adrenalectomy" name="Adrenalectomy Procedure Observation example"/>
<artifact id="CapabilityStatement/central-cancer-registry-reporting-ehr-pathology" key="CapabilityStatement-central-cancer-registry-reporting-ehr-pathology" name="Central Cancer Registry Reporting Pathology EHR Capability Statement"/>
<artifact deprecated="true" id="Observation/2149.100004300-us" key="Observation-2149.100004300-us" name="Distant Metastasis (pM): Not applicable- pM cannot be determined from the submitted specimen(s) (example)"/>
<artifact id="Observation/observation-distant-metastasis" key="Observation-observation-distant-metastasis" name="Distant Metastasis Observation example"/>
<artifact deprecated="true" id="Observation/observation-distant-metastasis" key="Observation-observation-distant-metastasis" name="Distant Metastasis Observation example"/>
<artifact deprecated="true" id="Encounter/pathology-encounter" key="Encounter-pathology-encounter" name="Encounter (example)"/>
<artifact id="Observation/observation-histologic-grade" key="Observation-observation-histologic-grade" name="Hisotologic Grade Observation example"/>
<artifact deprecated="true" id="Observation/observation-histologic-grade" key="Observation-observation-histologic-grade" name="Hisotologic Grade Observation example"/>
<artifact deprecated="true" id="Observation/49275.100004300-us" key="Observation-49275.100004300-us" name="Histologic Grade: High grade (example)"/>
<artifact id="Observation/observation-histologic-type" key="Observation-observation-histologic-type" name="Histologic Type Observation example"/>
<artifact deprecated="true" id="Observation/observation-histologic-type" key="Observation-observation-histologic-type" name="Histologic Type Observation example"/>
<artifact deprecated="true" id="Observation/59852.100004300-us" key="Observation-59852.100004300-us" name="Histologic Type: Adrenal cortical carcinoma (example)"/>
<artifact id="MessageHeader/pathology-message-header" key="MessageHeader-pathology-message-header" name="MessageHeader example"/>
<artifact deprecated="true" id="MessageHeader/pathology-message-header" key="MessageHeader-pathology-message-header" name="MessageHeader example"/>
<artifact id="RelatedPerson/pathology-next-of-kin" key="RelatedPerson-pathology-next-of-kin" name="Next-of-Kin RelatedPerson example"/>
<artifact id="Practitioner/oncologist-example" key="Practitioner-oncologist-example" name="Oncologist Practitioner example"/>
<artifact deprecated="true" id="Practitioner/oncologist-example" key="Practitioner-oncologist-example" name="Oncologist Practitioner example"/>
<artifact id="PractitionerRole/practitionerrole-uspath-oncologist-example" key="PractitionerRole-oncologist-example" name="Oncologist PractitionerRole example"/>
<artifact id="Practitioner/pathologist-example" key="Practitioner-pathologist-example" name="Pathologist Practitioner example"/>
<artifact deprecated="true" id="Practitioner/pathologist-example" key="Practitioner-pathologist-example" name="Pathologist Practitioner example"/>
<artifact deprecated="true" id="PractitionerRole/pathologist-example" key="PractitionerRole-pathologist-example" name="Pathologist PractitionerRole (example)"/>
<artifact deprecated="true" id="Bundle/cancer-us-pathology-message-bundle" key="Bundle-cancer-us-pathology-message-bundle" name="Pathology Bundle (example)"/>
<artifact id="CapabilityStatement/pathology-lab-information-system" key="CapabilityStatement-pathology-lab-information-system" name="Pathology Laboratory Information System"/>
<artifact id="Procedure/path-specimen" key="Procedure-path-specimen" name="Pathology specimen collection procedure example"/>
<artifact id="Patient/JoelAlexPatient" key="Patient-JoelAlexPatient" name="Patient example"/>
<artifact deprecated="true" id="Observation/2137.100004300-us" key="Observation-2137.100004300-us" name="Primary Tumor (pT): pTX: primary tumor cannot be assessed (example)"/>
<artifact id="Observation/observation-primary-tumor" key="Observation-observation-primary-tumor" name="Primary Tumor Observation example"/>
<artifact deprecated="true" id="Observation/observation-primary-tumor" key="Observation-observation-primary-tumor" name="Primary Tumor Observation example"/>
<artifact id="Organization/principal-pathology-lab" key="Organization-principal-pathology-lab" name="Principal Pathology Lab example"/>
<artifact deprecated="true" id="Observation/42554.100004300-us" key="Observation-42554.100004300-us" name="Procedure: Adrenalectomy, total (example)"/>
<artifact id="Organization/Redwood-Womens-Center-PC" key="Organization-Redwood-Womens-Center-PC" name="Redwood Women's Center, P.C. example"/>
<artifact deprecated="true" id="Observation/2143.100004300-us" key="Observation-2143.100004300-us" name="Regional Lymph Nodes (pN): pN0: No regional lymph node metastasis (example)"/>
<artifact id="Observation/observation-regional-lymph-nodes" key="Observation-observation-regional-lymph-nodes" name="Regional Lymph Nodes Observation example"/>
<artifact deprecated="true" id="Observation/observation-regional-lymph-nodes" key="Observation-observation-regional-lymph-nodes" name="Regional Lymph Nodes Observation example"/>
<artifact deprecated="true" id="Observation/1867.100004300-us" key="Observation-1867.100004300-us" name="Regional Lymph Nodes: None Submitted (example)"/>
<artifact id="ServiceRequest/cancer-path-example" key="ServiceRequest-cancer-path-example" name="Service Request - Cancer Pathology example"/>
<artifact id="Observation/observation-specimen-laterality" key="Observation-observation-specimen-laterality" name="Specimen Laterality Observation example"/>
<artifact deprecated="true" id="Observation/observation-specimen-laterality" key="Observation-observation-specimen-laterality" name="Specimen Laterality Observation example"/>
<artifact deprecated="true" id="Observation/52756.100004300-us" key="Observation-52756.100004300-us" name="Specimen Laterality: Bilateral (example)"/>
<artifact id="Practitioner/surgeon-example" key="Practitioner-surgeon-example" name="Surgeon Practitioner example"/>
<artifact deprecated="true" id="Practitioner/surgeon-example" key="Practitioner-surgeon-example" name="Surgeon Practitioner example"/>
<artifact id="PractitionerRole/practitionerrole-uspath-surgeon-example" key="PractitionerRole-practitionerrole-uspath-surgeon-example" name="Surgeon PractitionerRole example"/>
<artifact id="Observation/observation-TNM-descriptors" key="Observation-observation-TNM-descriptors" name="TNM Descriptors Observation example"/>
<artifact deprecated="true" id="Observation/observation-TNM-descriptors" key="Observation-observation-TNM-descriptors" name="TNM Descriptors Observation example"/>
<artifact deprecated="true" id="Observation/20880.100004300-us" key="Observation-20880.100004300-us" name="TNM Descriptors: m (multiple primary tumors) (example)"/>
<artifact id="Observation/observation-tumor-extension" key="Observation-observation-tumor-extension" name="Tumor Extension Observation example"/>
<artifact deprecated="true" id="Observation/observation-tumor-extension" key="Observation-observation-tumor-extension" name="Tumor Extension Observation example"/>
<artifact deprecated="true" id="Observation/53526.100004300-us" key="Observation-53526.100004300-us" name="Tumor Extension-2: Tumor invasion-2 (example)"/>
<artifact deprecated="true" id="Observation/51265.100004300-us" key="Observation-51265.100004300-us" name="Tumor Extension: Tumor invasion (example)"/>
<artifact id="Observation/observation-tumor-invasion" key="Observation-observation-tumor-invasion" name="Tumor Invasion Observation example"/>
<artifact id="Observation/observation-tumor-site" key="Observation-observation-tumor-site" name="Tumor Site Observation example"/>
<artifact id="Observation/observation-tumor-size" key="Observation-observation-tumor-size" name="Tumor Size Observation example"/>
<artifact deprecated="true" id="Observation/observation-tumor-invasion" key="Observation-observation-tumor-invasion" name="Tumor Invasion Observation example"/>
<artifact deprecated="true" id="Observation/observation-tumor-site" key="Observation-observation-tumor-site" name="Tumor Site Observation example"/>
<artifact deprecated="true" id="Observation/observation-tumor-size" key="Observation-observation-tumor-size" name="Tumor Size Observation example"/>
<artifact deprecated="true" id="Observation/2129.100004300-us" key="Observation-2129.100004300-us" name="Tumor Size: Greatest dimension in Centimeters (cm) (example)"/>
<artifact id="Observation/observation-tumor-weight" key="Observation-observation-tumor-weight" name="Tumor Weight Observation example"/>
<artifact deprecated="true" id="Observation/observation-tumor-weight" key="Observation-observation-tumor-weight" name="Tumor Weight Observation example"/>
<artifact deprecated="true" id="Observation/40496.100004300-us" key="Observation-40496.100004300-us" name="Tumor Weight: Specify Weight (g) (example)"/>
<artifact id="StructureDefinition/us-composition-lab" key="StructureDefinition-us-composition-lab" name="US Composition Laboratory Report"/>
<artifact id="PractitionerRole/practitionerrole-uspath-pathologist-example" key="PractitionerRole-practitionerrole-uspath-pathologist-example" name="US Pathologist PractitionerRole example"/>
<artifact id="DiagnosticReport/pathology-diagnostic-report" key="DiagnosticReport-pathology-diagnostic-report" name="US Pathology Adrenal DiagnosticReport example"/>
<artifact deprecated="true" id="StructureDefinition/us-pathology-bundle" key="StructureDefinition-us-pathology-bundle" name="US Pathology Bundle"/>
<artifact id="StructureDefinition/us-pathology-content-bundle" key="StructureDefinition-us-pathology-content-bundle" name="US Pathology Cancer Registry Content Bundle"/>
<artifact id="StructureDefinition/us-pathology-reporting-bundle" key="StructureDefinition-us-pathology-reporting-bundle" name="US Pathology Cancer Registry Reporting Bundle"/>
<artifact id="Bundle/us-pathology-reporting-bundle-example" key="Bundle-us-pathology-reporting-bundle-example" name="US Pathology Cancer Registry Reporting Bundle example"/>
<artifact id="Bundle/us-pathology-content-bundle-example" key="Bundle-us-pathology-content-bundle-example" name="US Pathology Content bundle example"/>
<artifact deprecated="true" id="StructureDefinition/us-pathology-content-bundle" key="StructureDefinition-us-pathology-content-bundle" name="US Pathology Cancer Registry Content Bundle"/>
<artifact deprecated="true" id="StructureDefinition/us-pathology-reporting-bundle" key="StructureDefinition-us-pathology-reporting-bundle" name="US Pathology Cancer Registry Reporting Bundle"/>
<artifact deprecated="true" id="Bundle/us-pathology-reporting-bundle-example" key="Bundle-us-pathology-reporting-bundle-example" name="US Pathology Cancer Registry Reporting Bundle example"/>
<artifact deprecated="true" id="Bundle/us-pathology-content-bundle-example" key="Bundle-us-pathology-content-bundle-example" name="US Pathology Content bundle example"/>
<artifact id="StructureDefinition/us-pathology-diagnostic-report" key="StructureDefinition-us-pathology-diagnostic-report" name="US Pathology Diagnostic Report"/>
<artifact id="Encounter/uspath-specimen-collection-example" key="Encounter-uspath-specimen-collection-example" name="US Pathology Encounter Specimen Collection example"/>
<artifact id="StructureDefinition/us-pathology-document-bundle" key="StructureDefinition-us-pathology-document-bundle" name="US Pathology Exchange Bundle"/>
<artifact id="Bundle/us-pathology-exchange-bundle-example" key="Bundle-us-pathology-exchange-bundle-example" name="US Pathology Exchange bundle example"/>
<artifact id="StructureDefinition/us-pathology-exchange-bundle" key="StructureDefinition-us-pathology-exchange-bundle" name="US Pathology ExchangeBundle"/>
<artifact id="StructureDefinition/us-pathology-message-header" key="StructureDefinition-us-pathology-message-header" name="US Pathology MessageHeader"/>
<artifact deprecated="true" id="StructureDefinition/us-pathology-message-header" key="StructureDefinition-us-pathology-message-header" name="US Pathology MessageHeader"/>
<artifact deprecated="true" id="StructureDefinition/us-pathology-next-of-kin" key="StructureDefinition-us-pathology-next-of-kin" name="US Pathology Next of Kin"/>
<artifact id="ValueSet/us-pathology-provider-types" key="ValueSet-us-pathology-provider-types" name="US Pathology Provider Types"/>
<artifact deprecated="true" id="CodeSystem/us-pathology-provider-types" key="CodeSystem-us-pathology-provider-types" name="US Pathology Provider Types CodeSystem"/>
<artifact id="StructureDefinition/us-pathology-related-practitioner-role" key="StructureDefinition-us-pathology-related-practitioner-role" name="US Pathology Related PractitionerRoles"/>
<artifact id="StructureDefinition/us-pathology-service-request" key="StructureDefinition-us-pathology-service-request" name="US Pathology Service Request"/>
<artifact id="StructureDefinition/us-pathology-specimen" key="StructureDefinition-us-pathology-specimen" name="US Pathology Specimen"/>
<artifact id="Parameters/expansion-parameters-fhir-cancer-ig" key="Parameters-expansion-parameters-fhir-cancer-ig" name="expansion-parameters-fhir-cancer-ig"/>
<artifact deprecated="true" id="Parameters/expansion-parameters-fhir-cancer-ig" key="Parameters-expansion-parameters-fhir-cancer-ig" name="expansion-parameters-fhir-cancer-ig"/>
<page key="NA" name="(NA)"/>
<page key="many" name="(many)"/>
<page key="artifacts" name="Artifacts Summary"/>
Expand Down
23 changes: 23 additions & 0 deletions UpdatesToMake.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Recommendation: eliminate MedMoprh and IHE SDC on FHIR from F-CPDS
Add Observation for handling unstructured Pathology Observations
Change Bundle to Collection only
DiagnosticReport in the Collection Bundle should be 1..* - is current 1..1
Potential structure:
Path Report Bundle
  DiagRep -- OBR + ORC
    presentedForm - eCP
  DiagRep
    OBSx - OBX
  DiagRep
    OBSx

Need to include Procedure, ServiceRequest


A consideration is to separate SDC and make IHE SDC/eCP on FHIR only for Pathology Observations
Or add Observations to F-CPDS

Refer to https://build.fhir.org/ig/HL7/uv-lab-rep-ig/ spec as potential option to reference - is currently based on the EU
- Have bundle structure

Write up issues we've had with Observation Grouper in representing multi specimen. Include an example from NAACCR Vol V
2 changes: 2 additions & 0 deletions _gencontinuous.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@ECHO OFF
CALL ./_genonce.bat -watch
2 changes: 2 additions & 0 deletions _gencontinuous.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash
./_genonce.sh -watch
27 changes: 27 additions & 0 deletions _genonce.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
@ECHO OFF
SET publisher_jar=publisher.jar
SET input_cache_path=%CD%\input-cache

ECHO Checking internet connection...
PING tx.fhir.org -4 -n 1 -w 1000 | FINDSTR TTL && GOTO isonline
ECHO We're offline...
SET txoption=-tx n/a
GOTO igpublish

:isonline
ECHO We're online
SET txoption=

:igpublish

SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

IF EXIST "%input_cache_path%\%publisher_jar%" (
JAVA -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% %*
) ELSE If exist "..\%publisher_jar%" (
JAVA -jar "..\%publisher_jar%" -ig . %txoption% %*
) ELSE (
ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
)

PAUSE
30 changes: 30 additions & 0 deletions _genonce.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash
publisher_jar=publisher.jar
input_cache_path=./input-cache/
echo Checking internet connection...
curl -sSf tx.fhir.org > /dev/null

if [ $? -eq 0 ]; then
echo "Online"
txoption=""
else
echo "Offline"
txoption="-tx n/a"
fi

echo "$txoption"

export JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -Dfile.encoding=UTF-8"

publisher=$input_cache_path/$publisher_jar
if test -f "$publisher"; then
java -jar $publisher -ig . $txoption $*

else
publisher=../$publisher_jar
if test -f "$publisher"; then
java -jar $publisher -ig . $txoption $*
else
echo IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
fi
fi
Loading