The entire form will be permanently cleared. Are you sure?
Menu
Vermont Oxford Network
×
Create New Entry
View All Entries
Groote Schuur Hospital
Neonatal Unit
Data Capture & Discharge Management System
Create New Entry
MEDICAL RECORD #
PATIENT'S NAME
Patient Identification
General Data Items
Additional Info
Click to Finish
Start Again
Print Discharge Form
Patient Identification Worksheet
Birth Weight :
Mother's First Name :
Mother's Last Name :
Patient's Name :
Patient's Medical Record Number :
Date of Birth :
6 weeks old date :
Location of Birth :
Inborn
Outborn
Date of Admission :
Transfer Code of Center from which Infant Transferred :
13240 - Mowbray Maternity Hospital
14994 - New Somerset Hospital
16011 - Tygerberg Hospital
8005432 - Khayelitsha District Hospital
8005433 - Mitchell's Plein District Hospital
8005435 - Red Cross Children's Hospital
97777777 - Birth at Home or in Transit
Other
N/A
Unknown
Died in Delivery Room :
Yes
No
Date of Transfer/Discharge :
The first time that the infant was discharged or transferred from your hospital
Initial Length of Stay :
General Data Items
Gestational Age (Weeks) :
Unknown
Gestational Age (Days) :
0 Days
1 Day
2 Days
3 Days
4 Days
5 Days
6 Days
Head Circumference :
Unknown
Race of Mother :
Black
Coloured
White
Asian
Indian
Unknown
Prenatal Care :
Yes
No
Unknown
If the mother received any prenatal obstetrical care prior to the admission during which birth occurred
Antenatal Steroids :
Yes
No
Unknown
If coritcosteroids were administered IM or IV to the mother during pregnancy at any time prior to delivery. Corticosteroids include betamethasone, dexamethasone, and hydrocortisone
Antenatal Magnesium Sulfate :
Yes
No
Unknown
If magnesium sulfate was administered intravenously to the mother during pregnancy at any time prior to delivery
Chorioamnionitis :
Yes
No
Unknown
If a diagnosis of chorioamnionitis was recorded in the maternal or infant medical record
Maternal Hypertension, Chronic/Pregnancy-Induced :
Yes
No
Unknown
Maternal Diabetes :
Yes
No
Unknown
Mode of Delivery :
Vaginal
C-Section
Unknown
Mode of Delivery :
NVD
C-Section
Vacuum
Sex of Infant :
Male
Female
Unknown
Multiple Gestation :
Yes
No
Unknown
Number of Infants Delivered :
1
2
3
4
5
6
7
8
9
10
N/A
Unknown
APGAR Scores @ 1 minute :
0
1
2
3
4
5
6
7
8
9
10
Unknown
APGAR Scores @ 5 minutes :
0
1
2
3
4
5
6
7
8
9
10
Unknown
Temp. Measured within the 1st Hour at GSH Nursery :
Yes
No
N/A
Unknown
Temperature :
Congenital Infection :
Yes
No
Unknown
Number of Codes :
1
2
3
Congenital Infection code 1 :
101 - Toxoplasmosis (Toxoplasma gondii)
102 - Rubella virus
103 - Syphilis (Treponema pallidum)
104 - Cytomegalovirus
105 - Herpessimplex
106 - Parvovirus B19
107 - Zika virus
108 - Varicella zoster virus
N/A
Unknown
Congenital Infection code 2 :
101 - Toxoplasmosis (Toxoplasma gondii)
102 - Rubella virus
103 - Syphilis (Treponema pallidum)
104 - Cytomegalovirus
105 - Herpessimplex
106 - Parvovirus B19
107 - Zika virus
108 - Varicella zoster virus
N/A
Unknown
Congenital Infection code 3 :
101 - Toxoplasmosis (Toxoplasma gondii)
102 - Rubella virus
103 - Syphilis (Treponema pallidum)
104 - Cytomegalovirus
105 - Herpessimplex
106 - Parvovirus B19
107 - Zika virus
108 - Varicella zoster virus
N/A
Unknown
Surfactant at Any Time :
Yes
No
Unknown
Hours :
Unknown
Minutes :
0
15
30
45
59
N/A
Unknown
Initial Resuscitation
Oxygen :
Yes
No
Unknown
Face Mask Vent :
Yes
No
Unknown
Endotracheal Tube Vent :
Yes
No
Unknown
Epinephrine :
Yes
No
Unknown
Cardiac Compression :
Yes
No
Unknown
Nasal CPAP :
Yes
No
Unknown
Bacterial Sepsis and/or Meningitis on or before Day 3:
Yes
No
N/A
Unknown
Number of Codes :
1
2
3
Bacterial Pathogen Codes 1 :
102 - Acinetobacter species
201 - Bacteroides species
501 - Enterobacter species
502 - Enterococcus species
503 - Escherichia coli
801 - Haemophilus species
1101 - Klebsiella species
1201 - Listeria monocytogenes
1301 - Moraxella species
1401 - Neisseria species
1604 - Proteus species
1606 - Pseudomonas species
1902 - Serratia species
1903 - Staphylococcus coagulase positive
1904 - Stenotrophomonas maltophilia
1905 - Group B Streptococcus or GBS
1906 - Streptococcus anginosus
1907 - Streptococcus pneumoniae
1908 - Streptococcus pyogenes
N/A
Unknown
Bacterial Pathogen Codes 2 :
102 - Acinetobacter species
201 - Bacteroides species
501 - Enterobacter species
502 - Enterococcus species
503 - Escherichia coli
801 - Haemophilus species
1101 - Klebsiella species
1201 - Listeria monocytogenes
1301 - Moraxella species
1401 - Neisseria species
1604 - Proteus species
1606 - Pseudomonas species
1902 - Serratia species
1903 - Staphylococcus coagulase positive
1904 - Stenotrophomonas maltophilia
1905 - Group B Streptococcus or GBS
1906 - Streptococcus anginosus
1907 - Streptococcus pneumoniae
1908 - Streptococcus pyogenes
N/A
Unknown
Bacterial Pathogen Codes 3 :
102 - Acinetobacter species
201 - Bacteroides species
501 - Enterobacter species
502 - Enterococcus species
503 - Escherichia coli
801 - Haemophilus species
1101 - Klebsiella species
1201 - Listeria monocytogenes
1301 - Moraxella species
1401 - Neisseria species
1604 - Proteus species
1606 - Pseudomonas species
1902 - Serratia species
1903 - Staphylococcus coagulase positive
1904 - Stenotrophomonas maltophilia
1905 - Group B Streptococcus or GBS
1906 - Streptococcus anginosus
1907 - Streptococcus pneumoniae
1908 - Streptococcus pyogenes
N/A
Unknown
Date of Day of 28 :
Oxygen on Day 28 > 21% :
Yes
No
N/A
Unknown
Periventricular - Intraventricular Hemorrhage (PIH)
Ultrasound on or before day 28 :
Yes
No
Unknown
Worst Grade of PIH (0-4) :
0
1
2
3
4
N/A
Unknown
Where Occurred :
Your Hospital
Other Hospital
Died Within 12 Hours of Admission to your NICU :
Yes
No
N/A
Unknown
Respiratory Support after Initial Resuscitation
Oxygen :
Yes
No
N/A
Unknown
Conventional Ventilation :
Yes
No
N/A
Unknown
High Frequency Ventilation :
Yes
No
N/A
Unknown
High Flow Nasal Cannula :
Yes
No
N/A
Unknown
Nasal Ventilation :
Yes
No
N/A
Unknown
Nasal CPAP :
Yes
No
N/A
Unknown
Nasal CPAP/Nasal Vent before/without ever having received ETT Vent :
Yes
No
N/A
Unknown
Respiratory Support at 36 Weeks
Oxygen :
Yes
No
N/A
Unknown
Conventional :
Yes
No
N/A
Unknown
High Frequency Ventilation :
Yes
No
N/A
Unknown
High Flow Nasal Cannula :
Yes
No
N/A
Unknown
Nasal IMV or SIMV :
Yes
No
N/A
Unknown
Nasal CPAP :
Yes
No
N/A
Unknown
After Day 3 of Life
Bacterial Sepsis and/or Meningitis after Day 3 of Life :
Yes
No
N/A
Unknown
Where Occurred :
Your Hospital
Other Hospital
Both
Number of Codes :
1
2
3
Bacterial Pathogen Codes 1 :
102 - Acinetobacter species
201 - Bacteroides species
501 - Enterobacter species
502 - Enterococcus species
503 - Escherichia coli
801 - Haemophilus species
1101 - Klebsiella species
1201 - Listeria monocytogenes
1301 - Moraxella species
1401 - Neisseria species
1604 - Proteus species
1606 - Pseudomonas species
1902 - Serratia species
1903 - Staphylococcus coagulase positive
1904 - Stenotrophomonas maltophilia
1905 - Group B Streptococcus or GBS
1906 - Streptococcus anginosus
1907 - Streptococcus pneumoniae
1908 - Streptococcus pyogenes
N/A
Unknown
Bacterial Pathogen Codes 2 :
102 - Acinetobacter species
201 - Bacteroides species
501 - Enterobacter species
502 - Enterococcus species
503 - Escherichia coli
801 - Haemophilus species
1101 - Klebsiella species
1201 - Listeria monocytogenes
1301 - Moraxella species
1401 - Neisseria species
1604 - Proteus species
1606 - Pseudomonas species
1902 - Serratia species
1903 - Staphylococcus coagulase positive
1904 - Stenotrophomonas maltophilia
1905 - Group B Streptococcus or GBS
1906 - Streptococcus anginosus
1907 - Streptococcus pneumoniae
1908 - Streptococcus pyogenes
N/A
Unknown
Bacterial Pathogen Codes 3 :
102 - Acinetobacter species
201 - Bacteroides species
501 - Enterobacter species
502 - Enterococcus species
503 - Escherichia coli
801 - Haemophilus species
1101 - Klebsiella species
1201 - Listeria monocytogenes
1301 - Moraxella species
1401 - Neisseria species
1604 - Proteus species
1606 - Pseudomonas species
1902 - Serratia species
1903 - Staphylococcus coagulase positive
1904 - Stenotrophomonas maltophilia
1905 - Group B Streptococcus or GBS
1906 - Streptococcus anginosus
1907 - Streptococcus pneumoniae
1908 - Streptococcus pyogenes
N/A
Unknown
Coagulase Negative Staph Infection :
Yes
No
N/A
Unknown
Where Occurred :
Your Hospital
Other Hospital
Both
Fungal Infection :
Yes
No
N/A
Unknown
Where Occurred :
Your Hospital
Other Hospital
Both
Steroids for CLD :
Yes
No
Unknown
Ibuprofen for PDA :
Yes
No
Unknown
Acetaminophen(Paracetamol) for PDA :
Yes
No
Unknown
Probiotics :
Yes
No
Unknown
Treatment of ROP with Anti-VEGF Drug :
Yes
No
Unknown
Caffeine for Any Reason :
Yes
No
Unknown
ROP Surgery :
Yes
No
Unknown
Where Given :
Your Hospital
Other Hospital
Both
Surgery/Interventional Catheterization for Closure of PDA :
Yes
No
Unknown
Surgery for NEC, Suspected NEC / Bowel Perforation :
Yes
No
Unknown
Other Surgery :
Yes
No
Unknown
Surgery Codes
Number of Codes :
1
2
3
4
5
Surgery Code 1 :
--------HEAD & Neck--------
S101 - Tracheostomy/Tracheotomy
S103 - Ophthalmologic Surgery
S107 - Palliative or Definitive Repair of Choanal Atresia
S100 - Other head and neck surgery
--------THORAX--------
S203 - Tracheoesophageal Atresia and/or fistula repair
S210 - Bronchoscopy (With or without biopsy)
S200 - Other thoracic surgery
--------ABDOMEN--------
S301 - Rectal biopsy with or without anoscopy
S303 - Laparotomy (diagnostic or exploratory, with/without biopsy)
S304 - Fundoplication
S307 - Jejunostomy, ileostomy, colostomy for intestinal diversion
S308 - Small bowel resection with or without primary anastomosis
S309 - Large bowel resection
S310 - Duodenal atresia/stenosis/web repair
S311 - Jejunal, ileal, or colonic atresia repair
S312 - Excision of Meckel's diverticulum
S313 - Drainage of intra-abdominal abscess
S319 - Repair of imperforate anus
S325 - Repair of diaphragmatic hernia
S331 - Ladd's or other procedure for correction of malrotation
S333 - Primary peritoneal drainage for NEC/intestinal perforation
S338 - Primary closure for gastroschisis
S340 - Primary closure for omphalocele
S300 - Other abdominal surgery requiring general or spinal anesthesia
--------GENITO-URINARY--------
S410 - Inguinal hernia repair
--------OPEN HEART/VASCULAR PROCEDURES--------
S502 - Repair of coarctation of the aorta
S510 - Truncus arteriosus repair
S511 - Arterial switch
S514 - Pulmonary artery banding
--------CENTRAL NERVOUS SYSTEM--------
S901 - Ventriculoperitoneal or other ventricular shunt
S904 - Meningocele or myelomeningocele repair
S905 - Encephalocele repair
N/A
Unknown
Your Hospital
Other Hospital
Both
Surgical Site Infection 1 :
Yes
No
N/A
Unknown
Surgery Code 2 :
--------HEAD & Neck--------
S101 - Tracheostomy/Tracheotomy
S103 - Ophthalmologic Surgery
S107 - Palliative or Definitive Repair of Choanal Atresia
S100 - Other head and neck surgery
--------THORAX--------
S203 - Tracheoesophageal Atresia and/or fistula repair
S210 - Bronchoscopy (With or without biopsy)
S200 - Other thoracic surgery
--------ABDOMEN--------
S301 - Rectal biopsy with or without anoscopy
S303 - Laparotomy (diagnostic or exploratory, with/without biopsy)
S304 - Fundoplication
S307 - Jejunostomy, ileostomy, colostomy for intestinal diversion
S308 - Small bowel resection with or without primary anastomosis
S309 - Large bowel resection
S310 - Duodenal atresia/stenosis/web repair
S311 - Jejunal, ileal, or colonic atresia repair
S312 - Excision of Meckel's diverticulum
S313 - Drainage of intra-abdominal abscess
S319 - Repair of imperforate anus
S325 - Repair of diaphragmatic hernia
S331 - Ladd's or other procedure for correction of malrotation
S333 - Primary peritoneal drainage for NEC/intestinal perforation
S338 - Primary closure for gastroschisis
S340 - Primary closure for omphalocele
S300 - Other abdominal surgery requiring general or spinal anesthesia
--------GENITO-URINARY--------
S410 - Inguinal hernia repair
--------OPEN HEART/VASCULAR PROCEDURES--------
S502 - Repair of coarctation of the aorta
S510 - Truncus arteriosus repair
S511 - Arterial switch
S514 - Pulmonary artery banding
--------CENTRAL NERVOUS SYSTEM--------
S901 - Ventriculoperitoneal or other ventricular shunt
S904 - Meningocele or myelomeningocele repair
S905 - Encephalocele repair
N/A
Unknown
Your Hospital
Other Hospital
Both
Surgical Site Infection 2 :
Yes
No
N/A
Unknown
Surgery Code 3 :
--------HEAD & Neck--------
S101 - Tracheostomy/Tracheotomy
S103 - Ophthalmologic Surgery
S107 - Palliative or Definitive Repair of Choanal Atresia
S100 - Other head and neck surgery
--------THORAX--------
S203 - Tracheoesophageal Atresia and/or fistula repair
S210 - Bronchoscopy (With or without biopsy)
S200 - Other thoracic surgery
--------ABDOMEN--------
S301 - Rectal biopsy with or without anoscopy
S303 - Laparotomy (diagnostic or exploratory, with/without biopsy)
S304 - Fundoplication
S307 - Jejunostomy, ileostomy, colostomy for intestinal diversion
S308 - Small bowel resection with or without primary anastomosis
S309 - Large bowel resection
S310 - Duodenal atresia/stenosis/web repair
S311 - Jejunal, ileal, or colonic atresia repair
S312 - Excision of Meckel's diverticulum
S313 - Drainage of intra-abdominal abscess
S319 - Repair of imperforate anus
S325 - Repair of diaphragmatic hernia
S331 - Ladd's or other procedure for correction of malrotation
S333 - Primary peritoneal drainage for NEC/intestinal perforation
S338 - Primary closure for gastroschisis
S340 - Primary closure for omphalocele
S300 - Other abdominal surgery requiring general or spinal anesthesia
--------GENITO-URINARY--------
S410 - Inguinal hernia repair
--------OPEN HEART/VASCULAR PROCEDURES--------
S502 - Repair of coarctation of the aorta
S510 - Truncus arteriosus repair
S511 - Arterial switch
S514 - Pulmonary artery banding
--------CENTRAL NERVOUS SYSTEM--------
S901 - Ventriculoperitoneal or other ventricular shunt
S904 - Meningocele or myelomeningocele repair
S905 - Encephalocele repair
N/A
Unknown
Your Hospital
Other Hospital
Both
Surgical Site Infection 3 :
Yes
No
N/A
Unknown
Surgery Code 4 :
--------HEAD & Neck--------
S101 - Tracheostomy/Tracheotomy
S103 - Ophthalmologic Surgery
S107 - Palliative or Definitive Repair of Choanal Atresia
S100 - Other head and neck surgery
--------THORAX--------
S203 - Tracheoesophageal Atresia and/or fistula repair
S210 - Bronchoscopy (With or without biopsy)
S200 - Other thoracic surgery
--------ABDOMEN--------
S301 - Rectal biopsy with or without anoscopy
S303 - Laparotomy (diagnostic or exploratory, with/without biopsy)
S304 - Fundoplication
S307 - Jejunostomy, ileostomy, colostomy for intestinal diversion
S308 - Small bowel resection with or without primary anastomosis
S309 - Large bowel resection
S310 - Duodenal atresia/stenosis/web repair
S311 - Jejunal, ileal, or colonic atresia repair
S312 - Excision of Meckel's diverticulum
S313 - Drainage of intra-abdominal abscess
S319 - Repair of imperforate anus
S325 - Repair of diaphragmatic hernia
S331 - Ladd's or other procedure for correction of malrotation
S333 - Primary peritoneal drainage for NEC/intestinal perforation
S338 - Primary closure for gastroschisis
S340 - Primary closure for omphalocele
S300 - Other abdominal surgery requiring general or spinal anesthesia
--------GENITO-URINARY--------
S410 - Inguinal hernia repair
--------OPEN HEART/VASCULAR PROCEDURES--------
S502 - Repair of coarctation of the aorta
S510 - Truncus arteriosus repair
S511 - Arterial switch
S514 - Pulmonary artery banding
--------CENTRAL NERVOUS SYSTEM--------
S901 - Ventriculoperitoneal or other ventricular shunt
S904 - Meningocele or myelomeningocele repair
S905 - Encephalocele repair
N/A
Unknown
Your Hospital
Other Hospital
Both
Surgical Site Infection 4 :
Yes
No
N/A
Unknown
Surgery Code 5 :
--------HEAD & Neck--------
S101 - Tracheostomy/Tracheotomy
S103 - Ophthalmologic Surgery
S107 - Palliative or Definitive Repair of Choanal Atresia
S100 - Other head and neck surgery
--------THORAX--------
S203 - Tracheoesophageal Atresia and/or fistula repair
S210 - Bronchoscopy (With or without biopsy)
S200 - Other thoracic surgery
--------ABDOMEN--------
S301 - Rectal biopsy with or without anoscopy
S303 - Laparotomy (diagnostic or exploratory, with/without biopsy)
S304 - Fundoplication
S307 - Jejunostomy, ileostomy, colostomy for intestinal diversion
S308 - Small bowel resection with or without primary anastomosis
S309 - Large bowel resection
S310 - Duodenal atresia/stenosis/web repair
S311 - Jejunal, ileal, or colonic atresia repair
S312 - Excision of Meckel's diverticulum
S313 - Drainage of intra-abdominal abscess
S319 - Repair of imperforate anus
S325 - Repair of diaphragmatic hernia
S331 - Ladd's or other procedure for correction of malrotation
S333 - Primary peritoneal drainage for NEC/intestinal perforation
S338 - Primary closure for gastroschisis
S340 - Primary closure for omphalocele
S300 - Other abdominal surgery requiring general or spinal anesthesia
--------GENITO-URINARY--------
S410 - Inguinal hernia repair
--------OPEN HEART/VASCULAR PROCEDURES--------
S502 - Repair of coarctation of the aorta
S510 - Truncus arteriosus repair
S511 - Arterial switch
S514 - Pulmonary artery banding
--------CENTRAL NERVOUS SYSTEM--------
S901 - Ventriculoperitoneal or other ventricular shunt
S904 - Meningocele or myelomeningocele repair
S905 - Encephalocele repair
N/A
Unknown
Your Hospital
Other Hospital
Both
Surgical Site Infection 5 :
Yes
No
N/A
Unknown
Respiratory Distress Syndrome :
Yes
No
Unknown
Pneumothorax :
Yes
No
Unknown
Where Occurred :
Your Hospital
Other Hospital
Both
Patent Ductus Arteriosus :
Yes
No
Unknown
Necrotizing Enterocolitis :
Yes
No
Unknown
Where Occurred :
Your Hospital
Other Hospital
Both
Focal Intestinal Perforation :
Yes
No
Unknown
Where Given :
Your Hospital
Other Hospital
Both
Cystic Periventricular Leukomalacia :
Yes
No
N/A
Unknown
ROP, Retinal Examination :
Yes
No
N/A
Unknown
Worst Stage of ROP :
0
1
2
3
4
5
Unknown
Major Birth Defect :
Yes
No
Unknown
Number of Codes :
1
2
3
4
5
Birth Defect code 1 :
-----Central Nervous System Anomalies-----
101 - Anencephaly
102 - Meningomyelocele
103 - Hydranencephaly
104 - Congenital Hydrocephalus
105 - Holoprosencephaly
106 - Encephalocele
901 - Other lethal or life threatening
-----Congenital Heart Anomalies-----
201 - TruncusArteriosus
202 - TranspositionoftheGreatVessels
203 - Tetralogy of Fallot with or without Pulmonary Atresia
204 - Single Ventricle
205 - Double Outlet Right Ventricle
206 - Complete Atrio-Ventricular Canal
207 - Pulmonary Atresia with Intact Ventricular Septum
208 - Tricuspid Atresia
209 - Hypoplastic Left Heart Syndrome
210 - Interrupted Aortic Arch
211 - Total Anomalous Pulmonary Venous Return
212 - Pentalogy of Cantrell
213 - Coarctation of the Aorta
214 - Atrial Septal Defect
215 - Ventricular Septal Defect
216 - Arrythmia
217 - Ebstein’s Anomaly
218 - Pulmonary Valvular Stenosis
902 - Other lethal or life threatening
-----Gastro-Intestinal Anomalies-----
301 - Cleft Palate
302 - Tracheo-EsophagealFistula
303 - Esophageal Atresia
304 - Duodenal Atresia
305 - Jejunal Atresia
306 - IlealAtresia
307 - Atresia of Large Bowel or Rectum
308 - ImperforateAnus
309 - Omphalocele
310 - Gastroschisis
311 - Biliary Atresia
312 - Malrotation
313 - Hirschsprung’s Disease
314 - Sacrococcygeal teratoma
903 - Other lethal or life threatening
-----Genito-Urinary Anomalies-----
401 - Bilateral Renal Agenesis
402 - Bilateral Polycystic, Multicystic, or Dysplastic Kidneys
403 - Obstructive Uropathy with Congenital Hydronephrosis
404 - Exstrophy of the Urinary Bladder
904 - Other lethal or life threatening
-----Chromosomal Anomalies-----
501 - Trisomy 13
502 - Trisomy 18
503 - Trisomy 21
504 - Other chromosomal anomaly
505 - Triploidy
-----Other Congenital Anomalies-----
601 - Skeletal Dysplasia
602 - Congenital Diaphragmatic Hernia
603 - Hydrops Fetalis with anasarca
604 - Oligohydramnios Sequence
605 - Inborn Error of Metabolism
606 - Myotonic Dystrophy
607 - Conjoined Twins
608 - Tracheal Agenesis or Atresia
609 - Thanatophoric Dysplasia Types 1 and 2
610 - Hemoglobin Barts
-----Pulmonary Anomalies-----
701 - Congenital Cystic Adenomatoid Malformation of the Lung
907 - Other lethal or life threatening
-----Other Lethal or Life Threatening Anomalies-----
100 - Other lethal or life threatening
Birth Defect code 2 :
-----Central Nervous System Anomalies-----
101 - Anencephaly
102 - Meningomyelocele
103 - Hydranencephaly
104 - Congenital Hydrocephalus
105 - Holoprosencephaly
106 - Encephalocele
901 - Other lethal or life threatening
-----Congenital Heart Anomalies-----
201 - TruncusArteriosus
202 - TranspositionoftheGreatVessels
203 - Tetralogy of Fallot with or without Pulmonary Atresia
204 - Single Ventricle
205 - Double Outlet Right Ventricle
206 - Complete Atrio-Ventricular Canal
207 - Pulmonary Atresia with Intact Ventricular Septum
208 - Tricuspid Atresia
209 - Hypoplastic Left Heart Syndrome
210 - Interrupted Aortic Arch
211 - Total Anomalous Pulmonary Venous Return
212 - Pentalogy of Cantrell
213 - Coarctation of the Aorta
214 - Atrial Septal Defect
215 - Ventricular Septal Defect
216 - Arrythmia
217 - Ebstein’s Anomaly
218 - Pulmonary Valvular Stenosis
902 - Other lethal or life threatening
-----Gastro-Intestinal Anomalies-----
301 - Cleft Palate
302 - Tracheo-EsophagealFistula
303 - Esophageal Atresia
304 - Duodenal Atresia
305 - Jejunal Atresia
306 - IlealAtresia
307 - Atresia of Large Bowel or Rectum
308 - ImperforateAnus
309 - Omphalocele
310 - Gastroschisis
311 - Biliary Atresia
312 - Malrotation
313 - Hirschsprung’s Disease
314 - Sacrococcygeal teratoma
903 - Other lethal or life threatening
-----Genito-Urinary Anomalies-----
401 - Bilateral Renal Agenesis
402 - Bilateral Polycystic, Multicystic, or Dysplastic Kidneys
403 - Obstructive Uropathy with Congenital Hydronephrosis
404 - Exstrophy of the Urinary Bladder
904 - Other lethal or life threatening
-----Chromosomal Anomalies-----
501 - Trisomy 13
502 - Trisomy 18
503 - Trisomy 21
504 - Other chromosomal anomaly
505 - Triploidy
-----Other Congenital Anomalies-----
601 - Skeletal Dysplasia
602 - Congenital Diaphragmatic Hernia
603 - Hydrops Fetalis with anasarca
604 - Oligohydramnios Sequence
605 - Inborn Error of Metabolism
606 - Myotonic Dystrophy
607 - Conjoined Twins
608 - Tracheal Agenesis or Atresia
609 - Thanatophoric Dysplasia Types 1 and 2
610 - Hemoglobin Barts
-----Pulmonary Anomalies-----
701 - Congenital Cystic Adenomatoid Malformation of the Lung
907 - Other lethal or life threatening
-----Other Lethal or Life Threatening Anomalies-----
100 - Other lethal or life threatening
Birth Defect code 3 :
-----Central Nervous System Anomalies-----
101 - Anencephaly
102 - Meningomyelocele
103 - Hydranencephaly
104 - Congenital Hydrocephalus
105 - Holoprosencephaly
106 - Encephalocele
901 - Other lethal or life threatening
-----Congenital Heart Anomalies-----
201 - TruncusArteriosus
202 - TranspositionoftheGreatVessels
203 - Tetralogy of Fallot with or without Pulmonary Atresia
204 - Single Ventricle
205 - Double Outlet Right Ventricle
206 - Complete Atrio-Ventricular Canal
207 - Pulmonary Atresia with Intact Ventricular Septum
208 - Tricuspid Atresia
209 - Hypoplastic Left Heart Syndrome
210 - Interrupted Aortic Arch
211 - Total Anomalous Pulmonary Venous Return
212 - Pentalogy of Cantrell
213 - Coarctation of the Aorta
214 - Atrial Septal Defect
215 - Ventricular Septal Defect
216 - Arrythmia
217 - Ebstein’s Anomaly
218 - Pulmonary Valvular Stenosis
902 - Other lethal or life threatening
-----Gastro-Intestinal Anomalies-----
301 - Cleft Palate
302 - Tracheo-EsophagealFistula
303 - Esophageal Atresia
304 - Duodenal Atresia
305 - Jejunal Atresia
306 - IlealAtresia
307 - Atresia of Large Bowel or Rectum
308 - ImperforateAnus
309 - Omphalocele
310 - Gastroschisis
311 - Biliary Atresia
312 - Malrotation
313 - Hirschsprung’s Disease
314 - Sacrococcygeal teratoma
903 - Other lethal or life threatening
-----Genito-Urinary Anomalies-----
401 - Bilateral Renal Agenesis
402 - Bilateral Polycystic, Multicystic, or Dysplastic Kidneys
403 - Obstructive Uropathy with Congenital Hydronephrosis
404 - Exstrophy of the Urinary Bladder
904 - Other lethal or life threatening
-----Chromosomal Anomalies-----
501 - Trisomy 13
502 - Trisomy 18
503 - Trisomy 21
504 - Other chromosomal anomaly
505 - Triploidy
-----Other Congenital Anomalies-----
601 - Skeletal Dysplasia
602 - Congenital Diaphragmatic Hernia
603 - Hydrops Fetalis with anasarca
604 - Oligohydramnios Sequence
605 - Inborn Error of Metabolism
606 - Myotonic Dystrophy
607 - Conjoined Twins
608 - Tracheal Agenesis or Atresia
609 - Thanatophoric Dysplasia Types 1 and 2
610 - Hemoglobin Barts
-----Pulmonary Anomalies-----
701 - Congenital Cystic Adenomatoid Malformation of the Lung
907 - Other lethal or life threatening
-----Other Lethal or Life Threatening Anomalies-----
100 - Other lethal or life threatening
Birth Defect code 4 :
-----Central Nervous System Anomalies-----
101 - Anencephaly
102 - Meningomyelocele
103 - Hydranencephaly
104 - Congenital Hydrocephalus
105 - Holoprosencephaly
106 - Encephalocele
901 - Other lethal or life threatening
-----Congenital Heart Anomalies-----
201 - TruncusArteriosus
202 - TranspositionoftheGreatVessels
203 - Tetralogy of Fallot with or without Pulmonary Atresia
204 - Single Ventricle
205 - Double Outlet Right Ventricle
206 - Complete Atrio-Ventricular Canal
207 - Pulmonary Atresia with Intact Ventricular Septum
208 - Tricuspid Atresia
209 - Hypoplastic Left Heart Syndrome
210 - Interrupted Aortic Arch
211 - Total Anomalous Pulmonary Venous Return
212 - Pentalogy of Cantrell
213 - Coarctation of the Aorta
214 - Atrial Septal Defect
215 - Ventricular Septal Defect
216 - Arrythmia
217 - Ebstein’s Anomaly
218 - Pulmonary Valvular Stenosis
902 - Other lethal or life threatening
-----Gastro-Intestinal Anomalies-----
301 - Cleft Palate
302 - Tracheo-EsophagealFistula
303 - Esophageal Atresia
304 - Duodenal Atresia
305 - Jejunal Atresia
306 - IlealAtresia
307 - Atresia of Large Bowel or Rectum
308 - ImperforateAnus
309 - Omphalocele
310 - Gastroschisis
311 - Biliary Atresia
312 - Malrotation
313 - Hirschsprung’s Disease
314 - Sacrococcygeal teratoma
903 - Other lethal or life threatening
-----Genito-Urinary Anomalies-----
401 - Bilateral Renal Agenesis
402 - Bilateral Polycystic, Multicystic, or Dysplastic Kidneys
403 - Obstructive Uropathy with Congenital Hydronephrosis
404 - Exstrophy of the Urinary Bladder
904 - Other lethal or life threatening
-----Chromosomal Anomalies-----
501 - Trisomy 13
502 - Trisomy 18
503 - Trisomy 21
504 - Other chromosomal anomaly
505 - Triploidy
-----Other Congenital Anomalies-----
601 - Skeletal Dysplasia
602 - Congenital Diaphragmatic Hernia
603 - Hydrops Fetalis with anasarca
604 - Oligohydramnios Sequence
605 - Inborn Error of Metabolism
606 - Myotonic Dystrophy
607 - Conjoined Twins
608 - Tracheal Agenesis or Atresia
609 - Thanatophoric Dysplasia Types 1 and 2
610 - Hemoglobin Barts
-----Pulmonary Anomalies-----
701 - Congenital Cystic Adenomatoid Malformation of the Lung
907 - Other lethal or life threatening
-----Other Lethal or Life Threatening Anomalies-----
100 - Other lethal or life threatening
Birth Defect code 5 :
-----Central Nervous System Anomalies-----
101 - Anencephaly
102 - Meningomyelocele
103 - Hydranencephaly
104 - Congenital Hydrocephalus
105 - Holoprosencephaly
106 - Encephalocele
901 - Other lethal or life threatening
-----Congenital Heart Anomalies-----
201 - TruncusArteriosus
202 - TranspositionoftheGreatVessels
203 - Tetralogy of Fallot with or without Pulmonary Atresia
204 - Single Ventricle
205 - Double Outlet Right Ventricle
206 - Complete Atrio-Ventricular Canal
207 - Pulmonary Atresia with Intact Ventricular Septum
208 - Tricuspid Atresia
209 - Hypoplastic Left Heart Syndrome
210 - Interrupted Aortic Arch
211 - Total Anomalous Pulmonary Venous Return
212 - Pentalogy of Cantrell
213 - Coarctation of the Aorta
214 - Atrial Septal Defect
215 - Ventricular Septal Defect
216 - Arrythmia
217 - Ebstein’s Anomaly
218 - Pulmonary Valvular Stenosis
902 - Other lethal or life threatening
-----Gastro-Intestinal Anomalies-----
301 - Cleft Palate
302 - Tracheo-EsophagealFistula
303 - Esophageal Atresia
304 - Duodenal Atresia
305 - Jejunal Atresia
306 - IlealAtresia
307 - Atresia of Large Bowel or Rectum
308 - ImperforateAnus
309 - Omphalocele
310 - Gastroschisis
311 - Biliary Atresia
312 - Malrotation
313 - Hirschsprung’s Disease
314 - Sacrococcygeal teratoma
903 - Other lethal or life threatening
-----Genito-Urinary Anomalies-----
401 - Bilateral Renal Agenesis
402 - Bilateral Polycystic, Multicystic, or Dysplastic Kidneys
403 - Obstructive Uropathy with Congenital Hydronephrosis
404 - Exstrophy of the Urinary Bladder
904 - Other lethal or life threatening
-----Chromosomal Anomalies-----
501 - Trisomy 13
502 - Trisomy 18
503 - Trisomy 21
504 - Other chromosomal anomaly
505 - Triploidy
-----Other Congenital Anomalies-----
601 - Skeletal Dysplasia
602 - Congenital Diaphragmatic Hernia
603 - Hydrops Fetalis with anasarca
604 - Oligohydramnios Sequence
605 - Inborn Error of Metabolism
606 - Myotonic Dystrophy
607 - Conjoined Twins
608 - Tracheal Agenesis or Atresia
609 - Thanatophoric Dysplasia Types 1 and 2
610 - Hemoglobin Barts
-----Pulmonary Anomalies-----
701 - Congenital Cystic Adenomatoid Malformation of the Lung
907 - Other lethal or life threatening
-----Other Lethal or Life Threatening Anomalies-----
100 - Other lethal or life threatening
Enteral Feeding at Discharge :
None
Human Milk Only
Formula Only
Human Milk ± Fortifier or Formula
N/A
Unknown
Oxygen, Respiratory Support, and Monitor at Discharge
Oxygen :
Yes
No
N/A
Unknown
Conventional Ventilation :
Yes
No
N/A
Unknown
High Frequency Ventilation :
Yes
No
N/A
Unknown
High Flow Nasal Cannula :
Yes
No
N/A
Unknown
Nasal Ventiliation :
Yes
No
N/A
Unknown
Nasal CPAP :
Yes
No
N/A
Unknown
Monitor :
Yes
No
N/A
Unknown
Initial Disposition :
Home
Died
Transferred
Still Hospitalized as of First Birthday
N/A
Unknown
Pending
Weight at Initial Disposition :
Head Circumference at Initial Disposition :
Unknown
PART A. Complete for ALL Transferred Infants
Reason for Transfer :
Growth/Discharge planning
Medical/Diagnostic Services
Surgery
ECMO
Chronic Care
Other
N/A
Unknown
Transfer Code of Center to Which infant Transferred :
13240 - Mowbray Maternity Hospital
14994 - New Somerset Hospital
16011 - Tygerberg Hospital
8005432 - Khayelitsha District Hospital
8005433 - Michell's Plain District Hospital
8005435 - Red Cross Children's Hospital
97777777 - Birth at Home or in Transit
Other
N/A
Unknown
Post Transfer Disposition :
Home
Transferred Again to Another Hospital
Died
Readmitted to Any Location in your Hospital
Still Hospitalized as of First Birthday
N/A
Unknown
PART B. Complete ONLY for Readmitted Infants
Disposition after Readmission :
Home
Died
Transferred Again to Another Hospital
Still Hospitalized as of First Birthday
N/A
Unknown
Weight at Disposition after Readmission :
PART C. Complete ONLY for Infants Who Transferred More than Once
Ultimate Disposition :
Home
Died
Still Hospitalized as of First Birthday
N/A
Unknown
PART D. Complete for ALL Transferred Infants
Date discharged home, died or first birthday date :
Total Length of Stay :
Additional Information
Additional Birth Details
Twin A/B :
A
B
Triplet A/B/C :
A
B
C
Quadruplet A/B/C/D :
A
B
C
D
Mother's Age :
Unknown
Grav :
Unknown
1
2
3
4
5
6
7
8
9
10
Para :
Unknown
1
2
3
4
5
6
7
8
9
10
RVD :
Yes
No
Unknown
Viral Load :
Unknown
0 - 100
100 - 1000
1000 - 10000
10000 >
Baby PCR :
Positive
Negative
Unknown
Baby Length :
Unknown
Clinical
Jaundice needing Phototherapy :
Yes
No
Level above Exchange :
Yes
No
Invasive Ventilation :
Yes
No
Day of Life Ventilation Started :
1 Day Old
Total Duration :
< 1 Day
1 Day
Diagnosis :
Hypoxic Ischaemic Encephalopathy (HIE) :
Yes
No
Highest HIE Score :
Unknown
1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
20
Cooled :
Yes
No
CFM at 48 Hours :
Yes
No
Unknown
Normal
Discontinuous Normal
Severely Abnormal
Sepsis during Admission :
Confirmed
Suspected
No
Number of Episodes :
1
2
3
4
5
Meningitis :
Yes
No
Investigations & Procedures
Fetal Medicine Unit (FMU) Scan :
Yes
No
Antenatal Scan :
Chromosomes Done :
Yes
No
Results :
Abnormal head ultrasound :
Yes
No
Details :
Received 6/52 Immunizations :
Yes
No
Date :
Received 10/52 Immunizations :
Yes
No
Date :
Received 14/52 Immunizations :
Yes
No
Date :
Follow Up Appointment
No. of Appointments :
0
1
2
3
4
5
First Appointment Location :
First Appointment Date :
First Appointment Time :
Unknown
Second Appointment Location :
Second Appointment Date :
Second Appointment Time :
Unknown
Third Appointment Location :
Third Appointment Date :
Third Appointment Time :
Unknown
Fourth Appointment Location :
Fourth Appointment Date :
Fourth Appointment Time :
Unknown
Fifth Appointment Location :
Fifth Appointment Date :
Fifth Appointment Time :
Unknown
Immunization Date :
Appointment 10/52 PCR test Date:
ROP Screen Date :
Click to Finish


BetterRandom is a library designed to help improve the quality and performance of random-number generation on Java. It includes:
Many standard tests of randomness amount to Monte Carlo simulations. And since widespread pseudorandom number generators (PRNGs) pass most but not all such tests in standard suites such as BigCrush and Dieharder, this suggests that any Monte Carlo simulation may turn out to be a test of randomness, and to give misleading or untrustworthy results because of an unfortunate choice of PRNG. (It's happened to scientists before.) There are two ways to minimize this risk, both of which BetterRandom can help with:
``` import static io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator.RANDOMDOTORGSEEDGENERATOR;
import io.github.pr0methean.betterrandom.seed.RandomSeederThread; import io.github.pr0methean.betterrandom.seed.SeedException; import io.github.pr0methean.betterrandom.util.BinaryUtils;
public class AesCounterRandomDemo { public static void main(String[] args) throws SeedException { AesCounterRandom random = new AesCounterRandom(RANDOMDOTORGSEEDGENERATOR); RandomSeederThread.getInstance(RANDOMDOTORGSEEDGENERATOR).add(random); byte[] randomBytes = new byte[32]; for (int i=0; i<20; i++) { random.nextBytes(randomBytes); System.out.format("Bytes: %s\n", BinaryUtils.convertBytesToHexString(randomBytes)); } } } ```
``` import static io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator.DEFAULTSEEDGENERATOR;
import edu.emory.mathcs.backport.java.util.Collections; import io.github.pr0methean.betterrandom.seed.SeedException; import java.util.Arrays; import java.util.List; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit;
public class SplittableRandomAdapterDemo {
private static final String[] VALUELABELS =
{"A","K","Q","J","10","9","8","7","6","5","4","3","2"};
private static final String[] SUITLABELS = {"♥","♣","♦","♠"};
public static void main(String[] args) throws SeedException, InterruptedException {
String[] cards = new String[52];
int i=0;
for (String suit : SUITLABELS) {
for (String value : VALUELABELS) {
cards[i] = value + suit;
i++;
}
}
ThreadLocal
> deckCopies = ThreadLocal.withInitial(() -> Arrays.asList(cards.clone()));
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(4);
ReseedingSplittableRandomAdapter random = ReseedingSplittableRandomAdapter.getInstance(
DEFAULTSEEDGENERATOR);
for (i=0; i<1000; i++) {
executor.submit(() -> {
List
```
BetterRandom requires many Java 8 features, but should work on any JVM that has them. Continuous integration takes place in the following environments:
Continuous integration for Oracle JDK 9 is set up on Travis, but will be ignored until Travis
knows
how to properly set $JAVA_HOME
for JDK 9. CI on BSD or Android isn't likely any time
soon, since
no free providers of BSD CI seem to be integrated with GitHub, and there seems to be no
actively-maintained Android-app wrapper for TestNG suites.
BetterRandom provides several pseudorandom number generators that are intended as drop-in
replacements for java.util.Random
.
betterrandom.prng
Reproducible: The getSeed()
function retrieves a seed that can be passed into
the constructor to
create another PRNG giving the same output. If any random numbers have been generated since
construction or a call to setSeed(byte[])
, this may rewind the state to before that
happened.
Serializable: All these PRNGs can be serialized and deserialized, copying their full internal state.
setSeed(byte[])
: Reseed even if more than a long
is needed to do
so.
** Use getNewSeedLength()
to get the recommended seed size.
entropyBits()
: Find out when the PRNG has output more random data than it has
been seeded with,
and thus could benefit from being reseeded. Even when the PRNG is reseeded repeatedly without
being used, the entropy count won't ever go above the size of the PRNG's internal state.
** CAUTION: This feature is in alpha. Many inherited methods from java.util.Random
obtain more
bits than they actually use, and will need to be overwritten to either eliminate the waste or
exclude it from the entropy debit.
setSeederThread(RandomSeederThread)
: Reseeds the PRNG whenever its entropy is
spent, but only
as long as a seed generator can keep up. See below.
| Class | Seed size (bytes) | Period (bits) | Speed | Speed with RandomSeederThread | Effect of
setSeed(long)
| getSeed()
rewinds? | Algorithm author
|-------------------------|--------------------|--------------------|--------|-------------------------------|-----------------------------------------------|----------------------|--------------------
| AesCounterRandom | 16-48 | 2135 | Slow | Slow | Combines with existing
seed | No | NIST
| CellularAutomatonRandom | 4 | ? | Medium | Very slow | Replaces existing seed | Yes | Anthony
Pasqualoni
| Cmwc4096Random | 16384 | 2131104 | Medium | Very slow | Not supported | Yes | George
Marsaglia
| MersenneTwisterRandom | 16 | 219937 | Medium | Medium | Not supported | Yes | Makoto Matsumoto
| XorShiftRandom | 20 | ~2160 | Medium | Medium | Not supported | Yes | George Marsaglia
| SplittableRandomAdapter | 8* | 264 | Fast | Fast† |
Replaces existing seed (calling thread only) | Yes | Guy
Steele and Doug Lea
*Seed sizes above 32 for AesCounterRandom require jurisdiction policy files that allow 192- and 256-bit AES seeds.
**Can be reseeded independently on each thread, affecting only that thread.
†Use specialized subclass ReseedingSplittableRandomAdapter.
Retrieving the internal state of an AesCounterRandom
instance from its output is
considered
equivalent to breaking the AES cipher.
AesCounterRandom only generates a permutation of the space of 128-bit integers, so if it
is used
to generate about 264 128-bit strings without reseeding, its statistical properties
will
begin to differ from those of /dev/random
in that it won't have
generated the same string twice. This
could be
prevented by using a hash function rather than a reversible cipher, but the hash functions in
standard JVMs are less cryptographically secure than AES and won't run as fast on hardware
featuring
AES-NI.
These classes use java.util.SplittableRandom
instances to implement the methods of
Random
,
despite that the two classes are unrelated and have slightly different method signatures. Several
adapters are available:
SingleThreadSplittableRandomAdapter
: Simple and fast, but not thread-safe.SplittableRandomAdapter
: Backed by a
ThreadLocal<SplittableRandom>
, whose instances of
SplittableRandom
are all split from a single master.
ReseedingSplittableRandomAdapter
: Also backed by a ThreadLocal<SplittableRandom>
,
this
registers each thread's SplittableRandom
instance with a
RandomSeederThread
(see below). This
is probably the best PRNG implementation that allows concurrent access from multiple threads.
SeedGenerator
A SeedGenerator
produces seeds for PRNGs. All the provided implementations are
singletons, because
the seed sources cannot be parallelized. They include:
DevRandomSeedGenerator.DEV_RANDOM_SEED_GENERATOR
: Works only on Unix-like
systems; reads seeds
from /dev/random
.
RandomDotOrgSeedGenerator.RANDOM_DOT_ORG_SEED_GENERATOR
: Uses the
random.org old API to retrieve random numbers
over HTTPS.
Random.org collects randomness from atmospheric noise using 9 radios, located at undisclosed
addresses in Dublin and Copenhagen and tuned to undisclosed AM/FM frequencies. (The secrecy is
intended to help prevent tampering with the output using a well-placed radio transmitter, and
the
use of AM/FM helps ensure that any such tampering would cause illegal interference with
broadcasts
and quickly attract regulatory attention.) Note that random.org limits the supply of free random
numbers to any one IP address; if you operate from a fixed address (at least if you use IPv4),
you
can check your quota and buy more.
SecureRandomSeedGenerator.SECURE_RANDOM_SEED_GENERATOR
: Uses
java.security.SecureRandom.generateSeed
. On Oracle and OpenJDK, this in turn uses
sun.security.provider.SeedGenerator
; when /dev/random
isn't available,
that in turn uses the
timing of newly-launched threads as a source of randomness, relying on the unpredictable
interactions between different configurations of hardware and software and their workloads.
DefaultSeedGenerator.DEFAULT_SEED_GENERATOR
: Uses the best of the above three
that is currently
available.
This is a daemon thread that loops over all the Random
instances registered with it
and reseeds
them. Those that implement EntropyCountingRandom
are skipped when they still have
entropy left
from a previous seeding. Example usage:
``` // Obtain the seeder thread for this seed generator; launch it if it's not already running. RandomSeederThread seederThread = RandomSeederThread.getInstance(DEFAULTSEEDGENERATOR);
// Thread is now running, but is asleep if no PRNGs have already been added to it.
// Begin including myRandom in the loop, and wake up the thread. seederThread.add(myRandom);
// Manually trigger reseeding ASAP (myRandom must be added first) if (myRandom instanceof EntropyCountingRandom) { seederThread.asyncReseed(myRandom); }
// Adding the same PRNG a second time has no effect seederThread.add(myRandom); ```
benchmark.sh
: Compile and run benchmarks. Output will be in benchmark/target
.
coverage.sh
: Compile and run unit tests and generate coverage reports. Upload
them to Coveralls
if running in Travis-CI.
test-proguard.sh
: Compile and run unit tests against Proguarded jar.unit-tests.sh
: Combined functions of coverage.sh
and test-proguard.sh
.
release.sh
: Used to perform new releases.publish-javadoc.sh
: Used to release updated Javadocs to github.io.prepare-workspace.sh
: Install necessary packages on a fresh Ubuntu Trusty Tahr
workspace, such
as what c9.io provides.
The following classes are forked from Uncommons Maths:
betterrandom.prng
except BaseRandom
and betterrandom.prng.adapter
betterrandom.seed
except RandomSeederThread
BinaryUtils


This is a warm up lab that will help set the stage for the platforms we'll use for the rest of the semester. Now, I'm going to kick things off with the following:
- I'll showing you some some different simple screencasting tools
- Coming up with a plan for doing a screencast about how we us npm
for front end web development
- I'll do a new video live to demonstrate technique for screencasting videos about my open source projects
- Uploading to YouTube
- I'll show you some of the best brands from past semesters
so you can get a sense of the types of videos people make
- I'll turn it over to you all and you'll have any time remaining to ask questions, start setting up accounts, etc. The lab below is due by Sunday at 11pm
.
- Create a Slack account and join two slack channels
- IST 402
- Slack Invite
- We'll use this as the primary working space / link sharing / communication space for the course
- ELMS: Learning Network -
Slack Invite
(optional)
- Me and my band of change agents are available to you. If you want to get more involved in this space beyond what we'll experience in class or have questions about the education or web industry, the door is always open
- There's developers and educational professionals from multiple universities there, IST and otherwise.
- Think up a brand / identity / persona for your online identity as an IT professional
- What does your brand feel like?
- Great Explainer? Hero's Journey? Future CIO? Coding beginner? Business and Tech fusing?
- Pick a name that you can attempt to use across "all platforms"
- Domain name, Github, YouTube, etc
- Note: You MAY want to divorce this from your real persona / personal accounts. Everyone does it differently in industry; many merge, there are risks associated with that. I fragment on YouTube but generally keep all mine unified.
- Because we haven't started a blog yet (but let's get in the swing of doing a write up and a video), write up a paragraph describing your brand in Word/Docs
- Register this account on Github
and YouTube
- Be sure to set the username to be the same across them
- You aren't required to register other socials but if your trying to increase the reach of your brand and SEO, register this account on OTHER spaces as well.
- Create a Playlist on YouTube called "Clarissa explains it all", replacing Clarissa
with your persona (or whatever brand name YOU want, we'll view several in class)
- Create a screencast that's ~5 minutes long that includes the following:
- Pick a screen-casting solution from the Screen-casting resources area
- introducing your channel from a technology professional context
- Showing your favorite tech blog / anything you've read and enjoy learning from online currently. Talk about an article on the blog while it's being shown in order to practice the explainer concept.
- End with what piece of technology you'd like to learn more about how it works this semester
- Post a link to this video on your social accounts (Twitter / LinkedIn) if you care to do so.
- Use the IST402 Slack directly
and upload your Word/Doc file to the channel named #lab-1-brand
.
Make sure to include a link to your YouTube Channel and Video post in the bottom of your "blog" post
- Extra if you'd like
- If you @btopro
on twitter I'll RT to increase reach


Python Module Index
| h | ||
hotspots | ||
hotspots.calculation | ||
hotspots.hs_docking | ||
hotspots.hs_io | ||
hotspots.hs_pharmacophore | ||
hotspots.hs_utilities | ||
hotspots.result |
| h | ||
hotspots | ||
hotspots.calculation | ||
hotspots.hs_docking | ||
hotspots.hs_io | ||
hotspots.hs_pharmacophore | ||
hotspots.hs_utilities | ||
hotspots.result |


This Report is created on {{ date_qc_ran }}
Version of Data Quality Control Tool: {{ version }}
Main folder path where DICOM files are stored: {{ dicomfolder }}
Total subfolders scanned: {{ totalfolders }}
Total number of patients with valid MRI sequences: {{ totalpatients }}
Total number of valid MRI sequences: {{ total_valid_seqs }}
Total number of invalid MRI sequences: {{ total_invalid_seqs }}
Total number of invalid DICOM (.dcm) files: {{ total_invalid_dcms }}
| {{ protocol }} |


public class PLibGrantAccess
extends java.lang.Object
| Constructor and Description |
|---|
PLibGrantAccess() |
| Modifier and Type | Method and Description |
|---|---|
static void |
getAndroidId(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the android id through the privacy library.
|
static void |
getBluetoothMac(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the bluetooth mac address through the privacy library.
|
static void |
getContacts(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.util.List<PlibContact>> flowAccessCallback)
Requests a list of individual selected
PlibContacts through the privacy library. |
static void |
getImei(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests theIMEI through the privacy library.
|
static void |
getLastLocation(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<android.location.Location> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the last known GPS location through the privacy library (if available).
|
static void |
getPhoneNumber(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the phone number through the privacy library.
|
static void |
getSimSerialNumber(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the sim serial number through the privacy library.
|
static void |
getSubscriberId(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the subscriber id/imsi through the privacy library.
|
static void |
getTestString(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision) |
static void |
getWifiInfo(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<android.net.wifi.WifiInfo> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the wifi info object through the privacy library.
|
static void |
getWifiMac(android.app.Activity uiActivity,
java.lang.String reason,
PLibAccessCallback<java.lang.String> flowAccessCallback,
boolean achieveDataBeforeDecision)
Requests the wifi mac address through the privacy library.
|
static void |
removeAllAccessDecisions(android.content.Context context)
Removes all permanently made access decisions of the privacy library.
|
public static void getPhoneNumber(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getTestString(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
public static void getAndroidId(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getImei(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getSimSerialNumber(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getSubscriberId(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getLastLocation(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<android.location.Location> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getWifiMac(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getBluetoothMac(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.lang.String> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getWifiInfo(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<android.net.wifi.WifiInfo> flowAccessCallback, boolean achieveDataBeforeDecision)
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)achieveDataBeforeDecision
- If true
, an internal request will be done and shown to the user during
popup, independent of the user's decision. Note: After an user decision, a second
call will be done!public static void getContacts(android.app.Activity uiActivity, java.lang.String reason, PLibAccessCallback<java.util.List<PlibContact>> flowAccessCallback)
PlibContacts
through the privacy library.
The permission to get this data is either defined through previous calls or at runtime by a
p-lib popup, in which the runtime user is requested to define, whether the data has to be
granted for request to the caller in its original form or anonymized, if anonymization is
possible for the given data type. Furthermore, the runtime user can decide to neglect the
given request. In dependency of the runtime user's decision or, if defined in previous
sessions, the callback handler will fire up the method grantedData(T
grantedData)
with the original requested data, an anonymized form or a with a
null
-object. Runtime decisions can be made permanently by checking a given
checkbox within the p-lib popup at runtime. Such permanently decision can be made depend on
the current position of the stack trace of the caller app or independ of it by checking the
corresponding checkbox. Permanent decisions can be modified within the p-lib settings.
Permanent decisions will be permanently dependent on the data type which is requested and a given description of the method caller, in which the reason why to grant data is shown to the runtime user during a popup (and if desired in dependency of the current stack trace).
Please make sure that the caller of this method is in possession of required Android Permissions!
uiActivity
- An Activity
UI is required in order to be able to show a popup.reason
- A string representing a message, in which the runtime caller can get motivated to
grant access. The string message will be presented to the runtime user during a
popup.flowAccessCallback
- A callback, which is fired after user decision (or automatically generated decisions
due to permanent made decisions)public static void removeAllAccessDecisions(android.content.Context context)
context
-


WORDEXP
Section: Linux Programmer's Manual (3)
Updated: 2008-07-14
Index
Return to Main Contents
NAME
wordexp, wordfree - perform word expansion like a posix-shell
SYNOPSIS
#include <wordexp.h>
int wordexp(const char *s, wordexp_t *p, int flags);
void wordfree(wordexp_t *p);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
wordexp(),
wordfree():
_XOPEN_SOURCE
DESCRIPTION
The function
wordexp()
performs a shell-like expansion of the string
s
and returns the result in the structure pointed to by
p.
The data type
wordexp_t
is a structure that at least has the fields
we_wordc,
we_wordv,
and
we_offs.
The field
we_wordc
is a
size_t
that gives the number of words in the expansion of
s.
The field
we_wordv
is a
char **
that points to the array of words found.
The field
we_offs
of type
size_t
is sometimes (depending on
flags,
see below) used to indicate the number of initial elements in the
we_wordv
array that should be filled with NULLs.
The function
wordfree()
frees the allocated memory again.
More precisely, it does not free
its argument, but it frees the array
we_wordv
and the strings that points to.
The string argument
Since the expansion is the same as the expansion by the shell (see
sh(1))
of the parameters to a command, the string
s
must not contain characters that would be illegal in shell command
parameters.
In particular, there must not be any unescaped
newline or |, &, ;, <, >, (, ), {, } characters
outside a command substitution or parameter substitution context.
If the argument
s
contains a word that starts with an unquoted comment character #,
then it is unspecified whether that word and all following words
are ignored, or the # is treated as a non-comment character.
The expansion
The expansion done consists of the following stages:
tilde expansion (replacing ~user by user's home directory),
variable substitution (replacing $FOO by the value of the environment
variable FOO), command substitution (replacing $(command) or `command`
by the output of command), arithmetic expansion, field splitting,
wildcard expansion, quote removal.
The result of expansion of special parameters
($@, $*, $#, $?, $-, $$, $!, $0) is unspecified.
Field splitting is done using the environment variable $IFS.
If it is not set, the field separators are space, tab and newline.
The output array
The array
we_wordv
contains the words found, followed by a NULL.
The flags argument
The
flag
argument is a bitwise inclusive OR of the following values:
- WRDE_APPEND
-
Append the words found to the array resulting from a previous call.
- WRDE_DOOFFS
-
Insert
we_offs
initial NULLs in the array
we_wordv.
(These are not counted in the returned
we_wordc.)
- WRDE_NOCMD
-
Don't do command substitution.
- WRDE_REUSE
-
The argument
p
resulted from a previous call to
wordexp(),
and
wordfree()
was not called.
Reuse the allocated storage.
- WRDE_SHOWERR
-
Normally during command substitution
stderr
is redirected to
/dev/null.
This flag specifies that
stderr
is not to be redirected.
- WRDE_UNDEF
-
Consider it an error if an undefined shell variable is expanded.
RETURN VALUE
In case of success 0 is returned.
In case of error
one of the following five values is returned.
- WRDE_BADCHAR
-
Illegal occurrence of newline or one of |, &, ;, <, >, (, ), {, }.
- WRDE_BADVAL
-
An undefined shell variable was referenced, and the
WRDE_UNDEF
flag
told us to consider this an error.
- WRDE_CMDSUB
-
Command substitution occurred, and the
WRDE_NOCMD
flag told us to consider this an error.
- WRDE_NOSPACE
-
Out of memory.
- WRDE_SYNTAX
-
Shell syntax error, such as unbalanced parentheses or
unmatched quotes.
VERSIONS
wordexp()
and
wordfree()
are provided in glibc since version 2.1.
CONFORMING TO
POSIX.1-2001.
EXAMPLE
The output of the following example program
is approximately that of "ls [a-c]*.c".
#include <stdio.h>
#include <stdlib.h>
#include <wordexp.h>
int
main(int argc, char **argv)
{
wordexp_t p;
char **w;
int i;
wordexp("[a-c]*.c", &p, 0);
w = p.we_wordv;
for (i = 0; i < p.we_wordc; i++)
printf("%s\n", w[i]);
wordfree(&p);
exit(EXIT_SUCCESS);
}
SEE ALSO
fnmatch(3),
glob(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- The string argument
-
- The expansion
-
- The output array
-
- The flags argument
-
- RETURN VALUE
-
- VERSIONS
-
- CONFORMING TO
-
- EXAMPLE
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:54:52 GMT, September 18, 2014


bathymetry_extract
Syntax
[bathy] = bathymetry_extract(bathymetry_dir,region)
Description
[bathy] = bathymetry_extract(bathymetry_dir,region)
extracts Smith & Sandwell Global Topography in path bathymetry_dir
over the specified rectangular region
. Struct bathy
has fields z
, lat
, and lon
. Struct bathy has fields z, lat, and lon and contains only the data from the specified region.
bathymetry_dir
is the character array path to the Smith & Sandwell Global Topography file "topo_20.1.nc"
region
is a vector containing the bounds [S N W E] of the search region, with limits [-90 90 -180 180]. Limits may cross the dateline e.g. [35 45 170 -130].
Example 1
% Extract relevant bathymetry over a region:
bathymetry_dir = '/Users/lnferris/Documents/data/bathymetry/topo_20.1.nc';
region = [-60.0 -50.0 150.0 160.0];
[bathy] = bathymetry_extract(bathymetry_dir,region);
Example 2
% Extract relevant bathymetry around struct argo:
bathymetry_dir = '/Users/lnferris/Documents/data/bathymetry/topo_20.1.nc';
region = bounding_region(argo);
[bathy] = bathymetry_extract(bathymetry_dir,region);


FuelSDKConfigurationSection - Represents ConfigurationSection
More...
FuelSDKConfigurationSection - Represents ConfigurationSection
◆ Clone()
| object FuelSDK.FuelSDKConfigurationSection.Clone |
( |
| ) |
|
|
inline |
Clone this instance.
- Returns
- The clone.
◆ IsReadOnly()
| override bool FuelSDK.FuelSDKConfigurationSection.IsReadOnly |
( |
| ) |
|
|
inline |
Ises the read only.
- Returns
true
, if read only, false
otherwise.
◆ AppSignature
| string FuelSDK.FuelSDKConfigurationSection.AppSignature |
|
getset |
Gets or sets the app signature.
The app signature.
◆ ClientId
| string FuelSDK.FuelSDKConfigurationSection.ClientId |
|
getset |
Gets or sets the client identifier.
The client identifier.
◆ ClientSecret
| string FuelSDK.FuelSDKConfigurationSection.ClientSecret |
|
getset |
Gets or sets the client secret.
The client secret.
◆ SoapEndPoint
| string FuelSDK.FuelSDKConfigurationSection.SoapEndPoint |
|
getset |
Gets or sets the SOAP end point.
The SOAP end point.
The documentation for this class was generated from the following file:
- FuelSDK-CSharp/FuelSDKConfigurationSection.cs


t2dSceneWindow
Hierarchy:
This object is derived from:
Object's derived from this:
Methods:
completeCameraMove()
Description: Complete Camera Move.
dismount()
Description: Dismounts Camera from object.
getCanvasPoint(X/Y)
Description: Returns Canvas coordinate of Window coordinate.
getCurrentCameraArea()
Description: Get current camera Area.
getCurrentCameraPosition()
Description: Get current camera Position.
getCurrentCameraSize()
Description: Get current camera Size.
getCurrentCameraZoom()
Description: Get current camera Zoom.
getIsCameraMounted()
Description: Is Camera Mounted Status.
getIsCameraMoving()
Description: Is Camera Moving Status.
getIsWindowPoint(X/Y)
Description: Checks if World coordinate is inside Window.
getLockMouse()
Description: Gets the window mouse-lock status.
getMousePosition()
Description: Gets Current Mouse Position.
getRenderGroupMask()
Description: Gets the group mask which controls what is rendered.
getRenderLayerMask()
Description: Gets the layer mask which controls what is rendered.
getSceneGraph()
Description: Returns the associated with this window.
getUseObjectMouseEvents()
Description: Gets whether mouses-events are monitored by the scene-objects.
getUseWindowMouseEvents()
Description: Gets whether mouses-events are monitored by the window.
getWindowExtents()
Description: Fetch Window Extents (Pos/Size).
getWindowPoint(X/Y)
Description: Returns Window coordinate of World coordinate.
getWorldPoint(X/Y)
Description: Returns World coordinate of Window coordinate.
mount(t2dSceneObject,[offsetX/offsetY],[mountForce],[sendToMount?])
Description: Mounts Camera onto a specified object.
resetSceneGraph()
Description: Detaches the window from any Object.
setCameraInterpolationMode(interpolationMode)
Description: Set camera interpolation mode.
setCameraInterpolationTime(interpolationTime)
Description: Set camera interpolation time.
setCurrentCameraArea(x1/y1/x2/y2)
Description: Set current camera area.
setCurrentCameraPosition(x/y/[width/height])
Description: Set current camera position.
setCurrentCameraZoom(zoomFactor)
Description: Set current camera Zoom Factor.
setDebugBanner(fontName, fontSize, textR/G/B/[A]$, backgroundR/G/B/[A]$)
Description: Set Debug Font/Size/textColour/backgroundColour
setLockMouse()
Description: Sets the window mouse-lock status.
setMousePosition()
Description: Sets Current Mouse Position.
setObjectMouseEventFilter()
Description: groupMask, layerMask, [useInvisible?] - Sets Filter for Object Mouse-Events.
setObjectMouseEventGroupFilter(groups $)
Description: Sets the group filter.
setObjectMouseEventInvisibleFilter()
Description: useInvisible - Sets the use invisible flag
setObjectMouseEventLayerFilter(layers $)
Description: Sets the layer filter.
setRenderGroups(groups $)
Description: Sets the render group(s).
setRenderLayers(layers $)
Description: Sets the render layers(s).
setRenderMasks(layerMask, groupMask)
Description: Sets the layer/group mask which control what is rendered.
setSceneGraph(t2dSceneGraph)
Description: Associates Object.
setTargetCameraArea(x/y/width/height)
Description: Set target camera area.
setTargetCameraPosition(x/y/[width/height])
Description: Set target camera position.
setTargetCameraZoom(zoomFactor)
Description: Set target camera Zoom Factor.
setUseObjectMouseEvents(mouseStatus)
Description: Sets whether mouses-events are monitored by the scene-Objects.
setUseWindowMouseEvents(mouseStatus)
Description: Sets whether mouses-events are monitored by the window.
setViewLimitOff()
Description: Set View Limit Off.
setViewLimitOn([minX/minY/maxX/maxY])
Description: Set View Limit On.
startCameraMove([interpolationTime])
Description: Start Camera Move.
startCameraShake(shakeMagnitude, time)
Description: Starts the camera shaking.
stopCameraMove()
Description: Stop Camera Move.
stopCameraShake()
Description: Stops the camera shaking.
undoCameraMove([interpolationTime])
Description: Undo Camera Move.
Callbacks:
onExtentChange(%this, %newExtent)
Brief Description: The size of the scene window changed. This is the size of the GuiControl, not the camera area.
Params:
this: The t2dSceneWindow whose size changed.
fontSize:
onMouseMove(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onMouseEnter(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onMouseLeave(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onMouseDown(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onMouseDragged(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onMouseUp(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onRightMouseDown(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onRightMouseDragged(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
onRightMouseUp(%this, %modifier, %worldPosition, %clicks)
Brief Description: A mouse event occurred in the scene window.
Params:
this: The t2dSceneWindow receiving the mouse event.
modifier: The modifier keys that are pressed.
Possible Values
- Bit 0: Left Shift
- Bit 1: Right Shift
- Bit 2: Left Control
- Bit 3: Right Control
- Bit 4: Left Alt (Windows) or Command (Mac)
- Bit 5: Right Alt (Windows) or Command (Mac)
- Bit 6: Left Option (Mac)
- Bit 7: Right Option (Mac
worldPosition: The current mouse position.
clicks:
Fields:
lockMouse
Type: bool
useObjectMouseEvents
Type: bool
useWindowMouseEvents
Type: bool
Inherited Fields:
Accelerator
Type: string
AltCommand
Type: string
canSave
Type: bool
Command
Type: string
Extent
Type: Point2I
HorizSizing
Type: enumval
MinExtent
Type: Point2I
Modal
Type: deprecated
Position
Type: Point2I
Profile
Type: GuiProfile
setFirstResponder
Type: deprecated
Variable
Type: string
VertSizing
Type: enumval
Visible
Type: bool
canSaveDynamicFields
Type: bool
internalName
Type: string
parentGroup
Description: Group hierarchy parent of the object.
Type: SimObjectPtr
class
Description: Script SuperClass of object.
Type: string
superclass
Description: Script Class of object.
Type: string
hovertime
Type: int
ToolTip
Type: string
tooltipprofile
Type: GuiProfile
isContainer
Type: bool
langTableMod
Type: string


NLP Architect by Intel® AI Lab¶
NLP Architect is an open source Python library for exploring state-of-the-art deep learning topologies and techniques for optimizing Natural Language Processing and Natural Language Understanding neural network.
The library includes our past and ongoing NLP research and development efforts as part of Intel AI Lab.
NLP Architect can be downloaded from Github: https://github.com/NervanaSystems/nlp-architect
Overview¶
NLP Architect is designed to be flexible for adding new models, neural network components, data handling methods and for easy training and running models.
Features:
- Core NLP models used in many NLP tasks and useful in many NLP applications
- Novel NLU models showcasing novel topologies and techniques
- Optimized NLP/NLU models showcasing different optimization algorithms on neural NLP/NLU models
- Model-oriented design:
- Train and run models from command-line.
- API for using models for inference in python.
- Procedures to define custom processes for training, inference or anything related to processing.
- CLI sub-system for running procedures
- Based on the following Deep Learning frameworks:
- TensorFlow
- PyTorch
- Intel-Optimized TensorFlow with MKL-DNN
- Dynet
- Essential utilities for working with NLP models - Text/String pre-processing, IO, data-manipulation, metrics, embeddings.
Library design philosophy¶
NLP Architect is a model-oriented library designed to showcase novel and different neural network optimizations. The library contains NLP/NLU related models per task, different neural network topologies (which are used in models), procedures for simplifying workflows in the library, pre-defined data processors and dataset loaders and misc utilities. The library is designed to be a tool for model development: data pre-process, build model, train, validate, infer, save or load a model.
The main design guidelines are:
- Deep Learning framework agnostic
- NLP/NLU models per task
- Different topologies (moduels) implementations that can be used with models
- Showcase End-to-End applications (Solutions) utilizing one or more NLP Architect model
- Generic dataset loaders, textual data processing utilities, and miscellaneous utilities that support NLP model development (loaders, text processors, io, metrics, etc.)
Procedures
for defining processes for training, inference, optimization or any kind of elaborate script.- Pythonic API for using models for inference
- Extensive model documentation and tutorials
Disclaimer¶
NLP Architect is an active space of research and development; Throughout future releases new models, solutions, topologies and framework additions and changes will be made. We aim to make sure all models run with Python 3.6+. We encourage researchers and developers to contribute their work into the library.


{% load staticfiles %}
The transcription of documents by human effort is often a long and tedious process. The aim of this project is to develop automated programs that are able to recognize human handwriting, and provide efficient and error-free systems for converting information in handwritten form to data-addressable formats that scientists can use to address important research questions.
This aim is in relation to an ongoing effort of our research team to preserve and digitalize a large and invaluable dataset of over 116 indigenous languages of Mesoamerica, and several other languages of the world.
Thank you for your time and interest!
If you have any questions about the ColCat project, feel free to e-mail us at colcat@calit2.uci.edu.


This chapter is a tutorial about creating effective and maintainable web pages. The following subjects are covered:
For details on the different subjects, you must read the other chapters in this manual. This chapter is a summary to get you started quickly.
This text is not yet finished, it will be more detailed in a future version
To avoid repeating parts of your page code over and over again in each page you should
define the general layout and common parts of your pages in one or more template pages.
All your other Ypages can then just contain the template declaration, and only the page content
that is different in each page. The template page could define a common header, menu, body layout,
footer and script/css links, and the rest of the pages only define the body content.
If you want to change the layout of the site you only have to update the template and all your
pages will use the new layout.
You can define a template page in every Ypage or define one global template for all pages
using the webapp's defaultPageTemplate
config variable.
As a template page is just an Ypage, you can do all sorts of dynamic page creation code inside it. It is even possible to pass page-specific variables from every templated ypage into the template page, so that you may use that in the template (example: to give every page a page-specific title, where the title is defined in the templated page). These template args can be simple and static, or dynamically created using a special page method.
Another possibility is to put parts of a page that are used over and over again inside a separate Ypage that is not accessed directly. Rather, you include it inside other Ypages that want to use it. For instance: if you find that you are building a complicated table structure on several different pages, you can put the table code in a separate Ypage file and include it in the other pages. If you want to change the table, you only have to make changes in one file, and the table is changed on all pages.
A more advanced way is to use inheritance to let your Ypage inherit from
another Ypage or even from a custom Python class. You can put common code in the base Ypage or
class and let multiple pages inherit from it, so that they will share the code.
It is possible to let the base Ypage handle the page creation (and refer to the inherited page)
by using the pagemethod
declaration.
Ypages and Snakelets are essentially just Python classes so you an import and use other modules and classes just like you would otherwise do to structure your Python program. Put common code and/or code that is not related to the actual page content in a different module, and import that in your Ypage/Snakelet, so that the rest of the code can stay concise and clean. Use subdirectories to divide and group related pages (just as you would use packages in regular Python code).
Some characters are invalid inside HTML (such as <, >, & and "). If you
generate HTML, you have to make sure that you escape (also called quote)
those special characters. You should use the self.escape(text)
method for this.
Escaping is only needed at the place where you actually want to output the text on the page.
The same counts for URLs. There are a few other characters that cannot occur in an URL because
they have a special meaning (/, +, ? and = for instance). If you need to put those in an URL
where they do not have that special meaning (for instance, where they are part of
the URL query params in case of a GET request with params), you have to escape them.
You should use the self.urlescape(path)
method for this.
Note that the URL-escaped string may be a valid URL, but it may still contain characters
that are invalid in HTML! So if you want to place it inside your page text, you usually
have to run it trough the HTML escape function before outputting it on the page.
Generating correct URL links on your page is not a trivial task, if you want
your page code to be independent of the server name, port, webapp name, prefix and whatnot.
URLs have the form: http://server:port/serverprefix/webapp/...
(serverprefix is optional).
If you only use relative urls (such as <a href="sub/page.y">....
)
you don't have to worry about the url base part because the browser fills it in.
But usually it is better to use an absolute url (in a menu, to avoid nesting issues) or
even an url that includes the http: part, and the servername and port.
You can hardcode these values in your pages but then they cease to work when you move to a different
server or rename the webapp...
| Relevant functions | |
|---|---|
| for Ypages | for Ypages and Snakelets |
|
These are shortcuts to functions defined
elsewhere (see the column to the right) to make it easier to use inside an Ypage: self.URLprefix self.Assetprefix url(path) asset(path) |
Defined on the Snakelet/Ypage class:
self.getFullURL() self.getURL() self.urlescape(str) # see above, at 'escaping'Defined on the Webapp: wa.getURLprefix() wa.getAssetprefix() wa.mkUrl(path) wa.mkAssetUrl(path)Defined on the Request object: req.getRequestURL() req.getRequestURLplain() req.getBaseURL()And perhaps some more (see relevant chapters) |
...explanation not yet written...
With other web servers, the correct handling of non-ASCII characters or symbols often is a pain.
Not with Snakelets. You only have to set the output encoding of your page to the desired
encoding (such as UTF-8), and optionally set the input encoding too (if your source file is
written in a special character encoding), and Snakelets takes care of all the rest.
Don't encode stuff yourself, just write those unicode strings to the page output!
If you are careful about the way you add FORMs to your pages (see below), the input
of special characters is painless too. Snakelets handles everything and you get to deal
with Python strings (or unicode objects) only. All symbols are supported. The suggested
character encoding is UTF-8 (it can contain all symbols, is widely supported, and
works efficiently for most western languages).
You can define a character encoding in every page or define one global setting for all pages
using the webapp's defaultOutputEncoding
config variable.
Usually the default content type text/html
is fine. But for special snakelets
or Ypages you are not returning HTML, but a different file type (when you have created
an image downloading snakelet, for instance). You have to specify the correct content type
yourself in these cases.
....write how to do this... defaultContentType....
...not yet written...
Snakelets manual - Back to index


Proj 1: GIFcard
Title:
134340Medium:
100lb Print of Digital Collage (.PNG) and Animated Photomosh AR Overlay (.GIF)Dimensions:
8.5*8.5"Attributions:
- Wikimedia Commons
- NASA
- BTS/BigHit Entertainment
- MySugaFaith (Min Yoongi Fansite)
Description:
I learned to feel a lot better once I began to see my inner flaws as freckles. I haven't yet grown to see them as stars, but I wanted to illustrate this self-love process with my video. Being used to Adobe Premiere, I wanted to focus on animation, something I've never done before.
To start, I drew and sequenced all the animated parts in Clip Studio Paint. To convert the still image sequence into video, I imported and exported to .MP4 in Adobe Photoshop. I was unable to export my animation as an RBGA video, so instead, I made the background green and used ultra-key to overlay it onto some stock clips. For the accompanying music, I used a music box arrange of Awake, by Jin of BTS, which is about pushing on despite self-doubt.


By using this web site, you agree to these Terms of Use, to our
Copyright Policy, and to our
Privacy Policy.
Our Terms of Use are simple:
-
This is our web site, and we will do as we please with it. If you
don't like how we run our site, you are free to set up your own.
-
You grant us a non-exclusive, perpetual, world-wide, irrevocable,
no-charge, royalty-free copyright license to reproduce, prepare
derivative works of, publicly display, publicly perform,
sublicense, and distribute content you post here.
-
We do not promise to preserve anyone's content for any particular
length of time. If you want to preserve content (whether your own
or someone else's) from this web site, you should download your
own copy of that content.
-
You are liable for what you post, and we are not liable for it.


We extend blockchain!
- orchestrate sticky infrastructures
- evolve robust mindshare
- cultivate cutting-edge methodologies
- optimize seamless eyeballs
- monetize mission-critical infomediaries
- evolve vertical web services
- drive world-class technologies
- whiteboard global paradigms
- harness scalable bandwidth
- enhance granular web-readiness