diff --git a/bin/XmlValidation.py b/bin/XmlValidation.py index 8099c97..4d16067 100644 --- a/bin/XmlValidation.py +++ b/bin/XmlValidation.py @@ -21,7 +21,6 @@ def validate_against_schema(schema_text, xml_text): print(exc_info()) return (str(e) + '\n' + str(exc_info())) - def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("-xml", "--xml", help="Path to the XML file", required=True, type=str) @@ -29,13 +28,11 @@ def parse_args(): args = parser.parse_args() return args - def read_file(file_name): with open(file_name, 'r') as input_file: file_text = input_file.read() return file_text - def main(): args = parse_args() diff --git a/notes/HAML.WorkingGroup.2024.12.12.pptx b/notes/HAML.WorkingGroup.2024.12.12.pptx new file mode 100644 index 0000000..1204b30 Binary files /dev/null and b/notes/HAML.WorkingGroup.2024.12.12.pptx differ diff --git a/schema diagrams/IHIW-haml_version_w0_3_3.svg b/schema diagrams/IHIW-haml_version_w0_3_3.svg deleted file mode 100644 index 7e9ae55..0000000 --- a/schema diagrams/IHIW-haml_version_w0_3_3.svg +++ /dev/null @@ -1,516 +0,0 @@ - - - -XsdVi - - - - - - - - - - - - - - - - - - -collapse all - - - -expand all - - - -/ schema - - - - - - -urn:HAML.Namespace - - -haml - - - - - - - - - -1 -2 -3 - - - - - - - - -urn:HAML.Namespace - - -patient-antibody-assessment -1..∞ - - - - - - - - - -1 -2 -3 - - - - - - - - -urn:HAML.Namespace - - -solid-phase-panel -0..∞ - - - - - - - - - -1 -2 -3 - - - - - - - - -urn:HAML.Namespace - - -bead -1..∞ - - - - - - - -@ HLA-allele-specificity -type: string - - - - - - - -@ raw-MFI -type: int - - - - - - - -@ Ranking -type: int - - - - - - - - -@ kit-manufacturer -base: string - - - - - - - -@ lot -type: string - - - - - - - - -@ sampleID -type: string - - - - - - - -@ patientID -type: string - - - - - - - -@ reporting-centerID -type: string - - - - - - - -@ sample-test-date -type: date - - - - - - - -@ negative-control-MFI -type: int - - - - - - - -@ positive-control-MFI -type: int - - - - - - - - -@ version -type: string - - - - - - diff --git a/schema diagrams/haml__version_0_1.svg b/schemas/0_1/haml__version_0_1.svg similarity index 100% rename from schema diagrams/haml__version_0_1.svg rename to schemas/0_1/haml__version_0_1.svg diff --git a/schema diagrams/haml__version_0_2.svg b/schemas/0_2/haml__version_0_2.svg similarity index 100% rename from schema diagrams/haml__version_0_2.svg rename to schemas/0_2/haml__version_0_2.svg diff --git a/schema diagrams/haml__version_0_3.svg b/schemas/0_3/haml__version_0_3.svg similarity index 100% rename from schema diagrams/haml__version_0_3.svg rename to schemas/0_3/haml__version_0_3.svg diff --git a/schema diagrams/haml__version_w0_3_1.svg b/schemas/0_3_1/haml__version_w0_3_1.svg similarity index 100% rename from schema diagrams/haml__version_w0_3_1.svg rename to schemas/0_3_1/haml__version_w0_3_1.svg diff --git a/schema diagrams/haml__version_w0_3_2.svg b/schemas/0_3_2/haml__version_w0_3_2.svg similarity index 100% rename from schema diagrams/haml__version_w0_3_2.svg rename to schemas/0_3_2/haml__version_w0_3_2.svg diff --git a/schema diagrams/haml__version_0_3_5.svg b/schemas/0_3_5/haml__version_0_3_5.svg similarity index 100% rename from schema diagrams/haml__version_0_3_5.svg rename to schemas/0_3_5/haml__version_0_3_5.svg diff --git a/schema diagrams/haml__version_0_4.svg b/schemas/0_4/haml__version_0_4.svg similarity index 100% rename from schema diagrams/haml__version_0_4.svg rename to schemas/0_4/haml__version_0_4.svg diff --git a/schema diagrams/haml__version_0_4_1.svg b/schemas/0_4_1/haml__version_0_4_1.svg similarity index 100% rename from schema diagrams/haml__version_0_4_1.svg rename to schemas/0_4_1/haml__version_0_4_1.svg diff --git a/schema diagrams/haml__version_0_4_2.svg b/schemas/0_4_2/haml__version_0_4_2.svg similarity index 100% rename from schema diagrams/haml__version_0_4_2.svg rename to schemas/0_4_2/haml__version_0_4_2.svg diff --git a/schemas/0_4_3/haml__version_0_4_3.xsd b/schemas/0_4_3/haml__version_0_4_3.xsd new file mode 100644 index 0000000..2e6ab90 --- /dev/null +++ b/schemas/0_4_3/haml__version_0_4_3.xsd @@ -0,0 +1,246 @@ + + + + + + + + + + + + Expected to be '0.4.2' to use this version of the HAML schema. + + + + + + + + + Specifies a unique identifier for this HAML document. This id follows + the HL7 standard for uniqueness using a two-part key. 'root' is the + unique organization identifier publicly registered for your organization. + 'extension' is the unique document id managed internally for your + organization, but must be unique and identify this specific HML document. + Together root and extension guarantee global uniqueness. + + http://www.oid-info.com/faq.htm + http://www.hl7.org/oid/index.cfm + + Attributes: + ----------- + - root: Unique publicly registered identifier for the HML + creator's organization. + (ex: NMDP HL7 id is "2.16.840.1.113883.3.1470") + Format is expected to be a string of digits and dot + delimiters. (required) + - extension: A unique document identifier managed internally by the + organization specified in 'root'. Can be any alpha-numeric + format desired by the organization. (ex: "haml-0.9.7-123456789.23a") + (optional and must be at least 1 non-whitespace character + long) + NOTE - If extension is NOT included, the unique document + identifier is expected to be appended at the end of the root + identifier above in accordance with HL7 practices. + + + + + + + + + + + Unique publicly registered identifier for the HML creator's organization. + This can be an HL7 compliant field (ex: NMDP is "2.16.840.1.113883.3.1470") + Format is expected to be a string of digits and dot delimiters. (required) + + + + + + + + + + A unique document identifier managed internally by the + organization specified in 'root'. Can be any alpha-numeric + format desired by the organization. (ex: "hml-0.9.7-123456789.23a") + (required and must be at least 1 non-whitespace character long and + guarantee uniqueness) + + + + + + + + + + A patient from which the sample is drawn. The patient may have a corresponding ID, and multiple samples + + + + + + + + + + + This represents a sample, most likely of blood, which was drawn from a patient. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schemas/0_4_3/sample_file_haml_0_4_3.xml b/schemas/0_4_3/sample_file_haml_0_4_3.xml new file mode 100644 index 0000000..9b2664c --- /dev/null +++ b/schemas/0_4_3/sample_file_haml_0_4_3.xml @@ -0,0 +1,209 @@ + + + + 123.445 + HAML Document #234134 + + University Medical Center Utrecht, HLA Laboratory + + + + + Patient_440223 + + sample_3 + Ben's lab + 2024-12-11T17:00:00+01:00 + + 2024-12-12T17:00:00+01:00 + + 1.8 + + EDTA + + + Serum Cleaning + + + 10 + PBS + + + + 12345 + One_Lambda + LS1A04_extended + HLA_Fusion + 4.1 + This is the extended panel for doing class I and some other stuff (Lifecodes....) + + + + + + + + + + + + + + + + + + + + 1 + control + negative + 9 + + 7 + 5 + + + + 2 + control + positive + 12000 + 11999 + 10003 + + + + 3 + test + A*01:01 + A1 + 399 + 31 + 12000 + 1 + 2 + + + + 4 + test + A*01:02 + 423 + A1 + 32 + 10000 + 1 + 2 + + + + 5 + test + A*02:01 + A2 + 1000 + 19 + 10000 + 1 + 2 + + + + + + + + + + 3 + 276 + One Lambda software. + adjusted MFI = + (bead Raw - Sample Negative) + - (Background raw - background negative) + + <--TODO: One-to-many for multiple classifications,--> + + + Loren Gragert + + Negative + + + + + One Lambda Software + + Positive + + + + false + + + + + 4 + A*01:02 + A1 + 245 + One Lambda software. + Here we compare against the lowest bead within the HLA-A + locus and subtract from raw_mfi + true + Negative + + + + + 5 + A*02:01 + A2 + 900 + false + Positive + self-antigen + + + + + + + + + + + true + Something went wrong in the assay + 93 + + + A2 + + + + B62+DQB1*05:01~DQA1*01:01+B*07:02 + + + + A*01:01 + + + + + + + + + + + + + +